Форум: "Прочее";
Текущий архив: 2007.05.20;
Скачать: [xml.tar.bz2];
ВнизКак.? Найти похожие ветки
← →
doob (2007-04-16 15:38) [0]Как перебрать все возможные варианты, логической таблици..?
Состоящей из 4-х столбцов.
0 0 0 0
1 1 1 1
1 0 0 0
1 1 0 0
1 1 1 0
0 0 0 1
0 0 1 1
0 1 1 1
0 1 1 0
1 0 0 1
1 0 1 0
0 1 0 1
Какая закономерность..? Сколько должно быть вариантов этого перебора???
← →
Kolan © (2007-04-16 15:41) [1]> Как перебрать все возможные варианты, логической таблици…?
В цикле. for, while, repeat…
← →
Сергей М. © (2007-04-16 15:42) [2]
> doob (16.04.07 15:38)
Двойка тебе в кондуит светит)
← →
TUser © (2007-04-16 15:45) [3]4 штуки забыл
← →
homm © (2007-04-16 15:46) [4]Развод?
← →
alien1769 © (2007-04-16 15:48) [5]
> homm © (16.04.07 15:46) [4]
> Развод?
посмотри ветку начинающим, еще не то узнаешь.
← →
boriskb © (2007-04-16 15:52) [6]Это уже проявление характера.
Математику из принципа не учат.
← →
doob (2007-04-16 16:13) [7]
> TUser © (16.04.07 15:45) [3]
Какие?
← →
alien1769 © (2007-04-16 16:18) [8]Двоичная система.
2^n. Дальше сам
← →
Алхимик © (2007-04-16 16:18) [9]> [7] doob (16.04.07 16:13)
>
> > TUser © (16.04.07 15:45) [3]
>
> Какие?
Комбинаторику учить надо было. Четыре позиции, в каждой позиции 2 варианта - 4^2 = 16
← →
Алхимик © (2007-04-16 16:20) [10]rem т.е. 2^4 = 16
← →
tesseract © (2007-04-16 16:22) [11]
> Комбинаторику учить надо было. Четыре позиции, в каждой
> позиции 2 варианта - 4^2 = 16
У меня это называлось теорией чисел :-) Там было основание системы счисления в степени количества цифр.
← →
Витян © (2007-04-16 19:56) [12]
> doob (16.04.07 15:38)
Всего будет 2^n вариантов. В твоем случае 2^4=16.
Называется это "выборки" или "строки".
Получить их можно используя рекурсивную процедуру.
var
a: array[1..4] of byte;
n: byte;
procedure solve(k: byte);
var
i: byte;
begin
if k>4 then begin
for i:=1 to 4 do write(a[i]," ");
writeln;
exit;
end;
a[k]:=1;
solve(k+1);
a[k]:=0;
solve(k+1);
end;
begin
solve(1);
readln;
end.
← →
palva © (2007-04-16 21:18) [13]Наверно проще считать в цикле от нуля до 15 и для каждого числа печатать его двоичное представление (код неотлаженный)
var
i, ii, j: Integer;
begin
for i:=0 to 15 do begin
ii := i;
for j:=1 to 4 do begin
if odd(ii) then write("1")
else write("0");
ii := ii shr 1
end
writeln
end
end.
← →
Витян © (2007-04-16 23:51) [14]
> palva ©
Тогда уж лучше так это реализовать:
const
n = 4;
var
mask,i: byte;
begin
for mask:=0 to (1 shl n)-1 do begin
for i:=0 to n-1 do write(ord(mask and (1 shl i)<>0));
writeln;
end;
readln;
end.
← →
palva © (2007-04-17 09:41) [15]write будет печатать слова True False ?
← →
Витян © (2007-04-17 15:11) [16]
> palva
Нет! 1 и 0
← →
{RASkov} (2007-04-17 17:50) [17]> [15] palva © (17.04.07 09:41)
ORD(Boolean)... ORD(True)=1; ORD(False)=0;
:)
← →
palva © (2007-04-17 17:56) [18]Да, я уже заметил. Витян мне ответил и я разобрался.
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2007.05.20;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.043 c