Текущий архив: 2006.01.15;
Скачать: CL | DM;
Вниз
Логические выражения Найти похожие ветки
← →
keymaster © (2005-12-16 22:03) [0]Как известно (1 and 1) = 1
но и (3 and 1) = 1
а надо чтобы только единица ловились.
Вся задача звучит примерно так:
есть массив целых чисел, хаотично заполненный числами "1,2,3,4"
Надо посчитать количество единиц, двоек, троек, четвёрок.
Нельзя юзать IF, CASE, While, доп массивы и т.д.
Цикл должен быть один - тот в котором идёт перебор элементов.
← →
DrPass © (2005-12-16 22:06) [1]xor
← →
TUser © (2005-12-16 22:15) [2]Расшифрую
for i:=0 to length-1 do
count += integer((NeedNumber xor RealNumber) == 0)
← →
Uncle Archi © (2005-12-16 22:35) [3]keymaster © (16.12.05 22:03)
1 xor 1 = 0
1 xor 2 = 3
1 xor 3 = 2
1 xor 4 = 5
← →
Alexander Panov © (2005-12-16 22:48) [4]
var
ArrInt,ArrCounter: array of Integer;
i: Integer;
s: String;
begin
SetLength(ArrInt,4);
SetLength(ArrCounter,4);
ArrInt[0] := 1;
ArrInt[1] := 2;
ArrInt[2] := 2;
ArrInt[3] := 3;
for i := 0 to High(ArrInt) do
begin
ArrCounter[ArrInt[i]-1] := ArrCounter[ArrInt[i]-1] + 1;
end;
s := "";
for i := 0 to High(ArrCounter) do
begin
s := s + "Eiee?anoai("+IntToStr(i+1)+")"+IntToStr(ArrCounter[i])+#13#10;
end;
ShowMessage(s);
← →
SergP © (2005-12-16 23:11) [5]
> Надо посчитать количество единиц, двоек, троек, четвёрок.
var
S:cardinal;
...
for i:=0 to high(arr) do S:=S+(1 shl (8*arr[i]));
Кол-во каждого из чисел будет в соответствующем быйте
← →
SergP © (2005-12-16 23:12) [6]
> Надо посчитать количество единиц, двоек, троек, четвёрок.
var
S:cardinal;
...
for i:=low(arr) to high(arr) do S:=S+(1 shl (8*arr[i]));
Кол-во каждого из чисел будет в соответствующем быйте
← →
SergP © (2005-12-16 23:20) [7]
> Alexander Panov © (16.12.05 22:48) [4]
> Нельзя юзать IF, CASE, While, доп массивы и т.д.
← →
SergP © (2005-12-16 23:23) [8]
> for i:=low(arr) to high(arr) do S:=S+(1 shl (8*arr[i]));
for i:=low(arr) to high(arr) do S:=S+(1 shl (8*(arr[i]-1)));
← →
Игорь Шевченко © (2005-12-16 23:24) [9]SergP © (16.12.05 23:23) [8]
S := 0 в начале
Страницы: 1 вся ветка
Текущий архив: 2006.01.15;
Скачать: CL | DM;
Память: 0.48 MB
Время: 0.047 c