Надо найти число делящееся на 2 в степени 100 и состоящее только из единиц и двоек.
Пока что нашел только 2 в степени 100 которое равно 1267650600228229401496703205376 ... Надо найти просто это число. У кого какие идеи?
uses HugeInts;
var
two, n, divider, r: hugeint;
s, s_div: string;
i: integer;
begin
integer2hugeint(2, two);
n := two; divider := two;
for i := 2 to 100 do begin { работаем до 2^100 }
hugeint_mul(divider, two, divider); { следующая степень двойки }
hugeint_mod(n, divider, R); { R - остаток от деления N на след. степень 2 }
hugeint2string(n, s); { Для удобства преобразуем в строку }
if hugeint_zero® then s := '2' + s { Делится? Значит, добавляем 2 спереди }
else s := '1' + s; { Не делится? Добавляем 1 }
string2hugeint(s, n); { Конвертируем назад в HugeInt }
end;
HugeInt2String(divider, s_div);
writeln(s_div);
HugeInt2String(n, s);
writeln(s);
end.
uses HugeInts;
var n, R, divider: hugeint;
begin
string2hugeint('1267650600228229401496703205376', divider);
string2hugeint(
'121121121122112121121112112212221121222111212211112'+
'2212112212121112121121122111112111211111212122112', n);
hugeint_mod(n, divider, R);
if hugeint_zero® then writeln('ok')
else writeln('something wrong!!!');
end.