输出水仙花数输入一个整数nn大于等于三,小于等于七,输出所有的n位水仙花数
#include <stdio.h>
//判断是否是水仙花
int isSxh(int n)
{
int s = 0;
int a = n;
int d = 0;
while(a>0)
{
int d = a%10;
s += (d*d*d);
a = a/10;
}
if(s == n)
return 1;
else
return 0;
}
int main()
{
int i=1,n;
int s=1;
scanf("%d",&n);
while(i<n)
{
s*=10;
i++;
}
for (i=s;i<=s*10-1;i++)
{
if (isSxh(i))
{
printf("%d ",i);
}
}
return 0;
}
#include<stdio.h>
int fun(int n){//判断3位数n是否是水仙花数
int q,b,g;
q=n/100;//求出千位数
b=(n/10)%10;//求出百位数
g=n%10;//求出个位数
if(q*q*q+b*b*b+g*g*g==n) return 1;
return 0;
}
int main()
{
int i;
for(i=100;i<1000;i++)
if(fun(i))
printf("%d\n",i);
return(0);
}
/*
运行结果:
153
370
371
407
*/
#include <stdio.h>
int main ()
{
int num,sd,td,hd;
for(num=100;num<1000;num++)
{
hd=num/100;
td=(num-100*hd)/10;
sd=num%10;
if(num==hd*hd*hd+td*td*td+sd*sd*sd)
{
printf("水仙花数字:%d\n",num);
}
}
return 0;
}
如果对你有帮助,可以点击我这个回答右上方的【采纳】按钮,给我个采纳吗,谢谢