(см. объяснение)
Ниже показано решение на различных языках программирования + аналитический метод.
Java:
System. out. println(BigInteger. valueOf(2). pow(102). add(BigInteger. valueOf(2). pow(100)). add(BigInteger. valueOf(2). pow(85)). add(BigInteger. valueOf(2). pow(17)). toString(8));
Pascal:
##
var res: BigInteger := BigInteger. Add(BigInteger. Add(BigInteger. Add(BigInteger. Pow(BigInteger. Parse('2'),102),BigInteger. Pow(BigInteger. Parse('2'),100)),BigInteger. Pow(BigInteger. Parse('2'),85)),BigInteger. Pow(BigInteger. Parse('2'),17));
var s: string := '';
while(not res. IsZero) do
begin
s:= BigInteger. Remainder(res,8). ToString+s;
res:= BigInteger. Divide(res,BigInteger. Parse('8'));
end;
writeln(s);
Python:
a = 2**102+2**100+2**85+2**17
s = ''
while(a>0):
s=str(a%8)+s
a//=8
print(s)
Аналитический метод:
Нужно представить все, как <число>*8^[степень]. Заметим, что:
Результат полученный во всех случаях одинаковый:
12000020000000000000000000000400000
Это означает, что всего в числе встречается 4 различные цифры.
Задание выполнено!