Дано целое число Х. Представить его в виде произведения простых множителей. Короч составить програму в Pascal-e.
Что нибудь на школьном уровне, пожалуйста
Что нибудь на школьном уровне, пожалуйста
Вывод вида 13 = 1 * 13, 256 = 1 * 2 * 2 ...
program svalues;
var num, nlim, curr: smallint;
begin
write('Enter number >');
readln(num);
nlim:=num div 2; {*Здесь можно поставить функцию квадратного корня*}
curr:=2;
write(num, ' = 1');
while (curr<=nlim) and (num>1) do begin
if (num mod curr =0) then begin
write(' * ', curr);
num:=num div curr;
nlim:=num div 2; {*И здесь тоже*}
end
else begin
if (curr=2) then curr:=curr+1 else curr:=curr+2;
end;
end;
if (num>1) then write(' * ', num);
writeln;
readln;
end.
Вот так, к примеру:
var
i, j, k, m: integer;
begin
readln(j);
writeln(j);
while j<>1 do begin
for i:= j downto 2 do
if j mod i = 0 then begin
k:= 0;
for m:= 2 to i-1 do
if i mod m = 0 then
k:= k + 1;
if (k=0) and (i<>1) then begin
write(i,' ');
j:= j div i;
end;
end;
end;
write(1);
end.