#include
int main()
{
int n;
scanf("%d", &n);
int first = 1;
int b = 1;
while (b < n)
{
first *= 10;
b++;
}
b = first;
while (b < first * 10)
{
int a = b;
#include
int sum = 0;
while (b > 0)
{
int j = b % 10;
b /= 10;
int q = 1;
int p = 0;
while (p < n)
{
q *= j;
p++;
}
sum += q;
}
if (sum == a)
{
printf("%d", b);
}
b++;
}
return 0;
这个题是水仙花数
修改处见注释,供参考:
#include <stdio.h>
int main()
{
int n;
scanf("%d", &n);
int first = 1;
int b = 1;
while (b < n)
{
first *= 10;
b++;
}
b = first;
while (b < first * 10)
{
int a = b;
int sum = 0;
while (a > 0) //(b > 0)
{
int j = a % 10; //b % 10;
a /= 10; //b /= 10;
int q = 1;
int p = 0;
while (p < n)
{
q *= j;
p++;
}
sum += q;
}
if (sum == b)
{
printf("%d ", b);
}
b++;
}
return 0;
}