一道数学算法问题

来源:百度知道 编辑:UC知道 时间:2024/05/27 04:39:18
153=1的立方+5的立方+3的立方
那么,怎样写一个算法,求出所有满足这样得位数
满足153=1的立方+5的立方+3的立方
即这个数等于它各位上数字的立方和,称为水仙花数,设计一个算法,找出大于100,小于1000的所有水仙花数

从100到1000之间的数中满足的:
main()
{ int a, b,c,t;
int i;
for(i=100;i<1000;i++)
{a=i%10;
b=i/10%10;
c=i/100;
t=a*a*a+b*b*b+c*c*c;
if(t==i) printf("%d\n",t);
else continue;
}
}

a,b,c
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)

pascal程序

program dd;
var
i,a,b,c:longint;
begin

for i:=100 to 999 do
begin
a:=i div 100;
b:=(i mod 100) div 10;
c:=i mod 10;
if a*a*a+b*b*b+c*c*c=i then writeln(i);
end;
end.

比如,从100开始,检验到999
把153开3次方,拿到一个5,然后153-5^3=28
28分别减4的3次、3的3次、2的3次,,差数开3次方,检验是否为整数,若满足,则原数满足为3个数的3次方之和
若无,5-1=4,再算

各个位数上的数各乘以三次方。

补台明白、,详细点