c语言编写求水仙数,从100到999之间的。用fun函数
答案:3 悬赏:10 手机版
解决时间 2021-12-04 00:29
- 提问者网友:我没有何以琛的痴心不悔
- 2021-12-03 18:10
c语言编写求水仙数,从100到999之间的。用fun函数
最佳答案
- 五星知识达人网友:执傲
- 2021-12-03 19:30
源程序如下:
#include
int fun(int n)
{ int i,j,k,m;
m=n;
k=0;
for(i=1;i<4;i++)
{ j=m%10;
m=(m-j)/10;
k=k+j*j*j;
}
if(k==n)
return 1;
else
return(0);
}
void main()
{ int i;
for(i=100;i<1000;i++)
if(fun(i)==1)
printf("%d is ok!\n" ,i);
}
水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3+ 3^3 = 153)
#include
int fun(int n)
{ int i,j,k,m;
m=n;
k=0;
for(i=1;i<4;i++)
{ j=m%10;
m=(m-j)/10;
k=k+j*j*j;
}
if(k==n)
return 1;
else
return(0);
}
void main()
{ int i;
for(i=100;i<1000;i++)
if(fun(i)==1)
printf("%d is ok!\n" ,i);
}
水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3+ 3^3 = 153)
全部回答
- 1楼网友:一袍清酒付
- 2021-12-03 21:44
#include
fun()
{int i,n,s;
for(i=100;i<1000;i++)
{n=i;s=0;
while(n)
{s=(n%10)*(n%10)*(n%10)+s;
n=n/10;}
if(s==i)
printf("%d\n",i);}
}
main()
{
fun();
}
fun()
{int i,n,s;
for(i=100;i<1000;i++)
{n=i;s=0;
while(n)
{s=(n%10)*(n%10)*(n%10)+s;
n=n/10;}
if(s==i)
printf("%d\n",i);}
}
main()
{
fun();
}
- 2楼网友:逐風
- 2021-12-03 20:25
#include
int q(int a,int b,int c,int o)
{
if(a*a*a+b*b*b+c*c*c==o)
{
return 1;
}
else
return 0;
}
void o(int y)
{
int x,a[3]={0},m,l;
l=y;
for(x=0;x<3;x++)
{
a[x]=y%10;
y=y/10;
}
m=q(a[0],a[1],a[2],l);
if(m)
{
printf("%-5d",l);
}
}
void main(void)
{
int e;
printf("\n水仙花数有:");
for(e=100;e<=999;e++)
{
o(e);
}
}
int q(int a,int b,int c,int o)
{
if(a*a*a+b*b*b+c*c*c==o)
{
return 1;
}
else
return 0;
}
void o(int y)
{
int x,a[3]={0},m,l;
l=y;
for(x=0;x<3;x++)
{
a[x]=y%10;
y=y/10;
}
m=q(a[0],a[1],a[2],l);
if(m)
{
printf("%-5d",l);
}
}
void main(void)
{
int e;
printf("\n水仙花数有:");
for(e=100;e<=999;e++)
{
o(e);
}
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯