注意:输入的数字不一定是三位数
#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;
}
#include <math.h>
int narcissistic( int number ){
int sum=0,n,t,len=0;
n=number;
while(n){ //确定数字位数
n/=10;
len++;
}
n=number;
while(n){
t=n%10;
sum+=pow(t,len); //需要添加math头文件
n/=10;
}
if(sum==number)
return 1;
else
return 0;
}
void PrintN( int m, int n ){
for(int i=m+1;i<n;i++){
if(narcissistic(i))
printf("%d\n",i);
}
}