更新时间2018-07-26 08:03:59
用c++打印100~9999999的水仙花数
#include <iostream>
#include<math.h>
using namespace std;
int Is_Narcissistic(int n) //是否水仙花数
{
int i,m,ct,b[20];
if (n<100) //3位以下没有
return 0;
m=n;
ct=0;
while(m!=0)
{
b[ct++]=m%10;
m/=10;
}
for(i=0;i<ct;i++)
m+=(int)pow(b[i],ct);
if (m==n)
return 1;
return 0;
}
int main(void)
{
for(int i=100;i<9999999;i++)
if (Is_Narcissistic(i))
cout << i <<endl;
return 0;
}
结果