水仙花数是什么
水仙花数是指一个三位数,其各位数字立方之和等于该数本身。
水仙花数的编程思路
1.求出该水仙花数有几位数。
while(tmp/10)
{
count++;//统计该水仙花数有几位数
tmp=tmp/10;
}
2.求出该水仙花数的立方和。
while(tmp)
{
sum+=pow(tmp%10,count);//求出各位数的立方和
tmp=tmp/10;
}
3.最后就是判断该各位数的立方和的是不是等于该水仙花数。
if(i==sum)
{
printf("该数是水仙花数%d ",i);
}
完整代码如下:
//水仙花数
int main()
{
int i = 0;
for (i = 0; i < 100000; i++)
{
int tmp = i;
int count = 1;//计数器
int sum = 0;//每次重新循环sum要为0
//求出数字的有几位数
while (tmp/10)
{
count++;
tmp =tmp / 10;
}
//计算每一位的立方和
tmp = i;
while (tmp)
{
sum += pow(tmp % 10, count);//使用pow需要引用头文件#include<math.h>
tmp = tmp / 10;
}
//判断
if (sum == i)
{
printf("%d ", i);
}
}
return 0;
}
希望这篇文章能够帮助你。