用Pascal编写一程序,输入一个正整数N,将N分解成质因数幂的乘积形式(帮忙看一下我哪里错了)Program dw;var n,i,t:longint;beginreadln(n);write(n,'=');i:=2;while n1 doif n mod i=0 thenbegint:=t+1;n:=n div i;if n=1 then w
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/17 07:52:57
用Pascal编写一程序,输入一个正整数N,将N分解成质因数幂的乘积形式(帮忙看一下我哪里错了)Program dw;var n,i,t:longint;beginreadln(n);write(n,'=');i:=2;while n1 doif n mod i=0 thenbegint:=t+1;n:=n div i;if n=1 then w
用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.
用Pascal编写一程序,输入一个正整数N,将N分解成质因数幂的乘积形式(帮忙看一下我哪里错了)Program dw;var n,i,t:longint;beginreadln(n);write(n,'=');i:=2;while n1 doif n mod i=0 thenbegint:=t+1;n:=n div i;if n=1 then w
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.