(см. объяснение)
Объяснение:
Ниже показано решение на различных языках программирования + аналитический метод.
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 различные цифры.
Задание выполнено!
Сайт не дает загрузить текст программы даже текстовым файлом, поэтому вставляю картинкой.
Программа должна запускаться с единственным аргументом, определяющем режим работы: encrypt (зашифрование) или decrypt (расшифрование). Если аргумент не указан, по умолчанию используется зашифрование.
Ключом шифрования является целое число из диапазона [1; 100]. При зашифровании ключ генерируется автоматически, используя стандартный генератор случайных чисел. При расшифровании ключ вводится с клавиатуры.
Шифртекст представляет собой последовательность целых чисел, разделенных пробелом. Рассматривать шифртекст в виде последовательности символов неудобно, потому что часть символов являются непечатными. Можно сказать, что входной и выходной алфавиты шифра замены различаются (в задании ограничений на это не увидел).
Пример работы программы в режиме зашифрования:
% python3 cipher.py encrypt
Running in encryption mode
Plaintext: Щёткин Сергей Викторович
Key: 41
Ciphertext: 1106 1146 1131 1123 1121 1126 73 1098 1118 1129 1116 1118 1122 73 1083 1121 1123 1131 1127 1129 1127 1115 1121 1136
Пример работы программы в режиме расшифрования:
% python3 cipher.py decrypt
Running in decryption mode
Ciphertext: 1106 1146 1131 1123 1121 1126 73 1098 1118 1129 1116 1118 1122 73 1083 1121 1123 1131 1127 1129 1127 1115 1121 1136
Key: 41
Plaintext: Щёткин Сергей Викторович
var
a, n1, n2, n3: integer;
begin
Writeln('Введите трехзначное число: ');
Read(a);
n1 := a div 100;
n2 := (a div 10) mod 10;
n3 := a mod 10;
if (n1 = n2) and (n2 = n3) then
Writeln('Все цифры одинаковые')
else if (n1 = n2) or (n2 = n3) or (n1 = n3) then
Writeln('Две цифры одинаковые')
else
Writeln('Нет одинаковых');
end.