Var
N,A:integer;
Begin
Write('N = ');Read(N);
A:=0;
While N>0 do
Begin
if (N mod 10) > A then A:= N mod 10;
N:=N div 10;
End;
Write(A)
End.
Var
N,A,B:integer;
C:boolean;
Begin
Write('N = ');Read(N);
A:=-1;
B:=-2;
C:=false;
While N>0 do
Begin
if A=B then C:=true;
if N>0 then
Begin
A:=N mod 10;
N:=N div 10;
End;
if A=B then C:=true;
if N>0 then
Begin
B:=N mod 10;
N:=N div 10;
End;
End;
if A=B then C:=true;
if C then Write('Есть')
else Write('Нет')
End.
Подробнее - на -
1) переводим целую часть числа:
для этого делим её нацело (т.е. вычисляем частное и остаток) на основание желаемой системы (на 8):
32 / 8 = 4 (и 0 в остатке)
продолжим деление для частного (4)
4 / 8 = 0 (и 4 в остатке)
далее делить не чего, т.к. частное равно нулю
из полученных остатков составляем восьмеричное число 40₈ (это целая часть нашего числа в восьмеричной системе счисления).
2) переводим дробную часть числа:
для этого умножаем её на основание желаемой системы (на 8):
0,25 * 8 = 2
если бы ответ содержал дробную часть, то мы бы продолжили умножать дробную часть, на каждом шагу отделяя её от целой части
но, т.к. у нас результат умножения не содержит дробной части, то мы составляем полученные целые части ответов (у нас это цифра 2), и записываем полученный результат после десятичной запятой: 0,2₈ (это и есть дробная часть в восьмеричной системе счисления)
3) соединяем полученные целую и дробную часть вместе:
ответ: 40,2₈