作业帮 > 综合 > 作业

用Pascal编写一程序,输入一个正整数N,将N分解成质因数幂的乘积形式(帮忙看一下我哪里错了)

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/07/05 07:46:14
用Pascal编写一程序,输入一个正整数N,将N分解成质因数幂的乘积形式(帮忙看一下我哪里错了)
Program dw;
var n,i,t:longint;
begin
readln(n);
write(n,'=');
i:=2;
while n1 do
if n mod i=0 then
begin
t:=t+1;
n:=n div i;
if n=1 then write(i,'(',t,')');
end
else
begin
if t0 then
begin
write(i,'(',t,')','*');
end;
end;
End.
1.每次除完之后i 要更新,你这里i的值就没变过
2.每次输出后要把t 赋值为0;
3.if n mod i=0 then
begin
t:=t+1;
n:=n div i;
if n=1 then write(i,'(',t,')');
end
这里不能用IF语句,用IF语句只会出1次,要改为WHILE语句我把你的程序改了一下,贴在下面,应该没问题了.
var n,i,t:longint;
begin
readln(n);
write(n,'=');
i:=2;
while n1 do
begin
while n mod i=0 do
begin
t:=t+1;
n:=n div i;
end;
if t0 then
begin
write(i,'(',t,')');
if n1 then write('*');
end;
i:=i+1; t:=0;
end;
End.