Допустим, дано число в 10й СС: 42;
Переводим в 16ю СС:
42 / 16 = 2 (остаток 10, 10 = A)
Ответ: 2A.
В 8ю:
42 / 8 = 5(остаток 2)
Ответ: 52
В 2ю:
42 / 2 = 21 (ост 0)
22 / 2 = 10 (ост 1)
10 / 2 = 5 (ост 0)
5 / 2 = 2 (ост 1)
2 / 2 = 1 (ост 0)
Ответ: 101010
Т.е. делишь число на основание той СС, в которую хочешь перевести до того момента, когда целая часть будет меньше основания СС в которую переводишь, остатки выписываешь снизу вверх.
Program task_1;
var
A, B, C : integer;
begin
read(A);
B := A;
C := 0;
While B <> 0 do
begin
C := C*10 + B mod 10;
B := B div 10
end;
If A=C then
begin
writeln('Число симметрично')
end
else
begin
writeln('Число НЕ симметрично')
end;
end.
Var n : Integer;
Begin
Readln(n);
n:=(n mod 10)*1000+(n mod 1000 div 10)*10+(n div 1000);
Writeln(n);
end.
Ввод: 1234
Вывод: 4231