#include <stdio.h>
int narcissistic( int number );
void PrintN( int m, int n );
int main()
{
int m, n;
scanf("%d %d", &m, &n);
if ( narcissistic(m) ) printf("%d is a narcissistic number\n", m);
PrintN(m, n);
if ( narcissistic(n) ) printf("%d is a narcissistic number\n", n);
return 0;
}
int narcissistic( int number )
{
int a[4];
int i = 0,count = 0;
int sum = 0;
int nu = number;
while(nu)
{
a[i] = nu % 10;
i ++;
count++;
nu = nu / 10;
}
int lim = count;
int k;
int m;
int t = 1;
for(k = 0; k < lim; k++)
{
m = a[k];
for(i = 1; i <= lim; i++)
{
t *= m;
}
sum += t;
t = 1;
}
if(sum == number) return 1;
else return 0;
}
void PrintN( int m, int n )
{
int i;
for(i = m + 1; i < n; i++)
{
if(narcissistic(i)) printf("%d\n", i);
}
}
11-07
6858
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交