Procedure Dec2Oct(n:longint); { Перевод натурального десятичного n в восьмеричную систему счисления и вывод результата } const alpha = '01234567'; var s: string; i:integer; begin s := ''; while n > 0 do begin s := alpha[(n mod 8) + 1] + s; n := n div 8 end; for i:=Length(s) to 9 do s:='0'+s; Write(s) end;
{ Использование } var x:longint; begin Write('Введите десятичное число: '); Read(x); Write('В восьмеричной системе счисления: '); Dec2Oct(x); Writeln end.
Тестовое решение: Введите десятичное число: 1234567 В восьмеричной системе счисления: 0004553207