作者:成语大世界日期:
返回目录:成语解释
你可以用程序来找到他们,比如7a64e4b893e5b19e334用我会的pascal语言就是:
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.
也可用C语言:
#include <stdio.h>
int main(void)
{
int a,b,c;
for(a=1;a<=9;a++)
for(b=0;b<=9;b++)
for(c=0;c<=9;c++)
if(100*a+10*b+c==a*a*a+b*b*b+c*c*c)
printf("%d%d%d\n",a,b,c);
return 0;
}
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
int main()
{
double N; //把N从e68a847a64365int型定义成double型,因为pow()函数不支持int类型,当然,N是int型也可以,用的时候强制转换也行,但是太烦。
int a,t;
int i=0,s=0;
scanf("%lf",&N); //N是double型了,那么赋值就要用%lf啦
a=pow(10,N-1);
t=a;
while(N>=3&&N<=7){
while(pow(10,N-1)<=a&&pow(10,N)>=a){
t=a;
while(i<N){
s=s+pow(t%10,N);
t/=10;
i++;
}
i=0;
if(a==s){
printf("%d\n",a);
}
a++;
s=0;
}
break; //在这边添加一个break,不然你是退不出去的,陷入了死循环
}
system("pause");
return 0;
}