主题:help ~~~~~~难
lidifei
[专家分:0] 发布于 2005-04-06 22:13:00
输入一个正整数N,把它分解成质因子相乘的形式
如: 36=1*2*2*3*3; 19=1*19;
回复列表 (共4个回复)
沙发
yuxiaonsu [专家分:90] 发布于 2005-04-07 18:17:00
先做一个质数表,然后一步步看是否能够整除,直到结果为质数!
板凳
xuzhenyi [专家分:850] 发布于 2005-04-07 19:09:00
var n,i,k:longint;
begin
readln(n);
for i:=2 to n do
begin
while n<>i do
begin
if n mod i=0 then{begin
write(i,'*');
n:=trunc(n/i);
end
else break;
end;
end;
writeln(n);
readln;
end.
3 楼
xuzhenyi [专家分:850] 发布于 2005-04-11 21:28:00
楼上你会不会很累啊
一个质数表呢。。。。。。
4 楼
泡泡糖 [专家分:230] 发布于 2005-05-07 07:43:00
program lt;
var n,s,i:integer;
begin
write('N=');readln(n);
if n<>1 then write(n,'=1*') else write(n,'=1');
s:=n;
for i:=2 to n do
begin
repeat
if s mod i=0 then begin s:=trunc(s/i);
write(i);if s<>1 then write('*'); end;
until (s mod i<>0);
end;
writeln;
end.
我来回复