判断水仙花数
水仙花数:
给定一个数x=1000,y=x的位数
各个位上的值x1,x2,x3,…,xn的y次方相加,如果等于下,那么这个数就是水仙花数。
代码
int main()
{
//判断水仙花数
for (int i = 0; i < 10000; i++)
{
int n = 0;
int tmp = i;
//123
while (tmp)
{
tmp /= 10;
n++;
}
tmp = i;
int sum = 0;
while (tmp)
{
sum += pow(tmp % 10, n);
tmp /= 10;
}
if (sum == i)
printf("%d是水仙花数\n", i);
}
return 0;
}
while循环次数,tmp=123,初始判断条件tmp=123,/=10三次以后tmp=0,循环三次。