У вас есть число 137 если вам надо перевести его в какую-нибудь систему счисления, то нужно делить это число на номер системы, так если нужно перевести число 137 в ДВОичную ,то делим на 2 до тех пор, пока остатотк от деления не равен 1.(если в ТРОичную то на 3 и т.д.). начнём: 137 / 2 = 68 выписываем остаток (1) 68 / 2 = 34 выписываем остаток (0) 34 / 2 = 17 выписываем остаток (0) 17 / 2 = 8 выписываем остаток (1) 8 / 2 = 4 выписываем остаток (0) 4 / 2 = 2 выписываем остаток (0) 2 / 2 = 1 <== на этой единице заканчиваем деление, далее снизу вверх выписываем получившееся число : 001001; ответ: 001001
var i,j,n:longint; f:boolean; begin writeln('Введите число'); readln(n); if n<2 then writeln('Простых делителей нет') else begin write('Число ',n,' ','= 1'); for i:=2 to n do if n mod i=0 then begin f:=true; j:=2; while f and(j<=round(sqrt(i/2)))do begin if i mod j=0 then f:=false else j:=j+1; end; if f then write('*',i); end; end; end.
если вам надо перевести его в какую-нибудь систему счисления, то нужно делить это число на номер системы, так если нужно перевести число 137 в ДВОичную ,то делим на 2 до тех пор, пока остатотк от деления не равен 1.(если в ТРОичную то на 3 и т.д.).
начнём:
137 / 2 = 68 выписываем остаток (1)
68 / 2 = 34 выписываем остаток (0)
34 / 2 = 17 выписываем остаток (0)
17 / 2 = 8 выписываем остаток (1)
8 / 2 = 4 выписываем остаток (0)
4 / 2 = 2 выписываем остаток (0)
2 / 2 = 1 <== на этой единице заканчиваем деление, далее снизу вверх выписываем получившееся число : 001001;
ответ: 001001
var i,j,n:longint;
f:boolean;
begin
writeln('Введите число');
readln(n);
if n<2 then writeln('Простых делителей нет')
else
begin
write('Число ',n,' ','= 1');
for i:=2 to n do
if n mod i=0 then
begin
f:=true;
j:=2;
while f and(j<=round(sqrt(i/2)))do
begin
if i mod j=0 then f:=false
else j:=j+1;
end;
if f then write('*',i);
end;
end;
end.
Тестовое решение:
Введите число
2345
Число 2345 = 1*5*7*35*67