program tmp; uses crt; var m,i:longint; function simple(n:longint):boolean; var i:longint; begin simple:=true; for i:=2 to round(sqrt(n)) do if n mod i=0 then begin simple:=false; break; end; end; begin clrscr; write('enter n: '); readln(n); for i:=2 to n do if simple(i) then write(i,' '); readkey; end.
Предполагается, что восьмеричное число записано, как символьная строка, поскольку максимальная разрядность не была оговорена в задании.
const m:array['0'..'7'] of string= ('000','001','010','011','100','101','110','111'); m1:array['1'..'7'] of string= ('1','10','11','100','101','110','111'); var s8,s2:string; i:integer; begin Write('Введите восьмеричное число: '); Readln(s8); s2:=m1[s8[1]]; for i:=2 to Length(s8) do s2:=s2+m[s8[i]]; Writeln('В двоичной системе: ',s2) end.
Тестовое решение: Введите восьмеричное число: 360721 В двоичной системе: 11110000111010001