【C语言】求水仙花数的相关问题
``输出三位数的水仙花数
#include<stdio.h>
#include<math.h>
int main()
{
int i, a, b, c;
for (i = 100; i <= 999; i++)
{
c = i % 10;
b = i / 10 % 10;
a = i / 100 % 10;
if (i == pow(a, 3) + pow(b, 3) + pow(c, 3))
printf("i=%d\n", i);
}
system("pause");
return 0;
}
求6位以下的水仙花数
求6位以下的水仙花数
#include <stdio.h>
#include <math.h>
#include<stdlib.h>
int main()
{
int i,j;
int tmp[10] = { 0 };
int sum=0;
int count = 0;
for (i = 0; i < 1000000; i++)//6位数内遍历
{
for (j = i; j; j /= 10)//对多位数i每一位遍历
{
tmp[count] = j % 10;//将位数存进数组此处为逆存
count++;
}
for (j = 1; j <= count; j++)
{
sum += pow(tmp[j - 1], count);//各位数的位次方相加
}
if (sum == i)
{
printf("%d\n", i);
}
count = sum = 0;
}
system("pause");
return 0;
}