ужно каждой букве русского алфавита задать номер от 0 до 31. Максимальный номер (31) можно представить как двоичное число 31 =11111. Так как номеров больших 31 нет, то для кодирования русских букв достаточно пятизначного двоичного числа. Дальше необходимо разбить цепочку - шифр на группы из пяти знаков справа налево.
01111 = 15 - П
10011 = 19 - У
11000 = 24 - Ш
10100 = 10 - К
01000 = 8 - И
01101 = 13 - Н.
Если на паскале, то как-то так:
function ToNine(number : integer) : integer;
const
sist = 9;
var
res, umn : integer;
begin
res := 0;
umn := 1;
while number > 0 do
begin
res := (number mod sist) * umn + res;
number := number div sist;
umn := umn * 10;
end;
ToNine := res;
end;
var
i : integer;
begin
for i := 1 to 8 do
writeln(i, ' + ', i, ' = ', ToNine(i + i));
for i := 1 to 8 do
writeln(i, ' * ', i, ' = ', ToNine(i * i));
<span>end.</span>
Функция sqr(x) служит для возведения аргумента х в квадрат, поэтому представим a¹⁰ в виде максимально возможного набора операций возведения в квадрат.
a¹⁰ = a²·a⁸ = a²·(a⁴)² = a²·[(a²)²]²
var
a:real;
begin
Write('a=');
Read(a);
Writeln(a,'^10=',sqr(a)*sqr(sqr(sqr(a))))
end.
Тестовые решения
a=2
2^10=1024
a=3.18
3.18^10=105747.765633159
a=10
10^10=10000000000
a=318.53
318.53^10=1.07523505784868E+25
Ответ А . Потому что не всегда февраль 28 дневный
Достоверная информация - это та информация , которая взята из надежного источника и она подтвержденна .