pascal高手请进,帮忙两个程序

来源:百度知道 编辑:UC知道 时间:2024/05/24 14:27:15
1.输入一个正整数,把它分解成质因子相乘的形式,如:20=1*2*2*5,36=1*2*2*3*3。
2.编程求出100—999之间的所有水仙花数(所谓水仙花数是指它本身等于各位数字的立方和)。例如:153=1*1*1+5*5*5+3*3*3。
我学过if语句,case语句,for语句,while语句,repeat语句,多重循环,goto语句。
谢谢

第一题:
program dsq;
var n,i:longint;
begin
readln(n);
write(n,'=1');
i:=2;
while i<=n do
begin
while n mod i =0 do
begin
write('*',i);
n:=n div i;
end;
inc(i);
end;
end.
第二题:
program shuixianhuashu;

var
a,b,c:integer;
begin
for a:=1 to 9 do
for b:=0 to 9 do
for c:=0 to 9 do
if a*a*a+b*b*b+c*c*c=100*a+10*b+c then writeln(100*a+10*b+c);
end.
或:
program sxh;
var a,b,c,d:integer;
begin
for a:=100 to 999 do begin
b:=a mod 10;
c:=a mod 100 div 10;
d:=a div 100;
if b*b*b+c*c*c+d*d*d=a then writeln(a);
end;
end.

1.
program cnx;
var
n,i:longint;
begin
readln(n);
i:=2;
while n>1 do
if n mod i=0 do
begin
n:=n mod i;
write(i);
if n<>1 then write('