发布网友 发布时间:2022-04-18 23:26
共2个回答
热心网友 时间:2022-04-19 00:56
四位的水仙花数共有3个:1634,8208,9474;
1、#include<iostream.h>
#include<math.h>
bool shuixianhua(int a)
{
int i=0,f[10]={0};
while(a!=0)
{
f[i]=a%10;
i++;
a/=10;
}
double s=0;
int j;
for(j=0;j<i;j++)
{
s+=pow(f[j],i);
}
return (s==a)?true:false;
}
int main()
{
int i,n,d;
bool w;
cin>>n;
for(i=0;i<n;i++)
{
cin>>d;
w=shuixianhua(d);
if(w)
{
cout<<"yes"<<endl;
}else{
cout<<"no"<<endl;
}
}
return 0;
}
2、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;
}
扩展资料:
(非高精度)
以下为在各种编程语言中实现求取水仙花数的方法(非高精度)。
Python代码实现
方法零:life is short,use python
for i in range(1000,10000):
a = int(i/1000)
b = int(i%1000/100)
c = int(i%100/10)
d = int(i%10)
if pow(a,4) + pow(b,4) + pow(c,4) + pow(d,4) ==i:
print(i)
参考资料来源:百度百科-水仙花数
热心网友 时间:2022-04-19 02:14
#include<iostream.h>