主题:用pascal编程 水仙花数问题 /加分/
djj018
[专家分:0] 发布于 2006-07-21 22:57:00
用pascal编程 水仙花数问题
回复列表 (共16个回复)
沙发
tl3shi [专家分:110] 发布于 2006-07-22 12:03:00
这个问题简单嘛!!具体如下(举例100到999之间的):
var
i,a,b,c:integer;
begin
for i:=100 to 999 do
begin
a:=i div 100 ;
b:=i div 10 mod 10;
c:=i mod 10;
if a^3+b^3+c^3=i then write (i);
end;
end.
板凳
bigchen [专家分:1940] 发布于 2006-11-01 12:09:00
我不想打代码了,只是给出思想:
分解1个数字,然后计算并且比较就可以了!
3 楼
zjsyzhong [专家分:520] 发布于 2006-11-30 12:28:00
分解 之后判断 等于输出 不等于继续循环 100-999循环
[em6]
4 楼
sss333 [专家分:340] 发布于 2006-11-30 12:43:00
课本上有
5 楼
战神wd11111 [专家分:0] 发布于 2007-03-20 14:57:00
分解一个数
比如说153(这是水花数吧^_^)
153可以分解成 1*100+5*10+3*1 这就是分解
用pascal就是
a:= i div 100
b:= i div 10 mod 10
c:= i mod 1
ta:=a*a*a tb:=b*b*b tc:=c*c*c
if ta+tb+tc= 100*a+10b+c then total:=total+1
^_^
7 楼
我爱我家ai [专家分:0] 发布于 2007-03-23 07:12:00
用for语句就可以啊
用三个for语句很简单的!!
8 楼
finallibra [专家分:0] 发布于 2007-04-07 22:00:00
同意楼上,for循环比较方便
9 楼
mickeyice [专家分:200] 发布于 2007-04-16 17:57:00
...
啥叫水仙花数??
想想...
貌似是各位的数3次放等于本身?
1--999?
var
i:integer;
begin
for i=1 to 999 do
if i =(i mod 100)^3+(i mod 10 div 10)^3+(i div 10)^3 then write(i);
end.
10 楼
银翼魔术师 [专家分:0] 发布于 2007-05-27 08:15:00
var
a,b,c:0..9;
i:integer;
begin
for i:=100 to 999 do
begin
a:=i div 100 do ;
b:=(i div 10) mod 10 ;
c:=i mod 10;
if (a*a*a+b*b*b+c*c*c) = i then writeln(i);
end;
end.
我来回复