主题:用pascal编程 水仙花数问题
djj018
[专家分:0] 发布于 2006-07-21 22:44:00
用pascal编程 水仙花数问题
回复列表 (共7个回复)
沙发
贺天行宝 [专家分:2300] 发布于 2006-07-22 08:35:00
问题说清楚点,应该枚举就行了阿
板凳
游侠UFO [专家分:1200] 发布于 2006-07-26 17:33:00
穷举法...
3 楼
dorremon1992 [专家分:870] 发布于 2006-07-27 12:07:00
Begin
for i:=1 to 9 do
for j:=0 to 9 do
for k:=0 to 9 do
if i*i*i+j*j*j+k*k*k=i*100+j*10+k then writeln(i,j,k);
End.
4 楼
7free [专家分:10] 发布于 2006-07-30 10:11:00
例:100-999的水仙花数
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=a*100+b*10+c
then write(a*100+b*10+c);
readln
end.
5 楼
dorremon1992 [专家分:870] 发布于 2006-08-09 21:31:00
最后打印时
不需要使用“a*100+b*10+c”
只须使用“a,b,c”
要不然多算了999次
6 楼
wfk0207 [专家分:0] 发布于 2006-12-12 20:48:00
program ShuiXianHua;
var x,a,b,c:integer;
begin
for x:=100 to 999 do
begin
a:=x div 100;
b:=(x mod 100) div 10;
c:=(x mod 100) mod 10;
if a*a*a+b*b*b+c*c*c=100*a+10*b+c then writeln(x);
end;
end.
7 楼
雪光风剑 [专家分:27190] 发布于 2006-12-13 09:12:00
[quote]
最后打印时
不需要使用“a*100+b*10+c”
只须使用“a,b,c”
要不然多算了999次[/quote]
只有打印的时候才需要计算的
所以实际只多算了很有限多次
(具体多少忘了,反正不超过20)
我来回复