#include "OJ.h" #include<iostream> using namespace std; /* 功能: 求n(n ≤ 65536)以内的所有阿姆斯特朗数 原型: int CalcArmstrongNumber(int n); 输入参数: int n: n ≤ 65536 返回值: n以内的阿姆斯特朗数的数量。 */ bool isArmstrongNumber(int m)//判断m是否为阿姆斯特朗数 { int initalM = m; if (m == 1) { return false; } int sum =0; int temp ; while(m != 0) { temp = m%10; m = m/10; sum += temp *temp *temp; } if (sum == initalM) { return true; } else { return false; } } int CalcArmstrongNumber(int n) { /*在这里实现功能*/ int totalNum =0; for (int i =2; i <=n ; ++i) { if (isArmstrongNumber(i)) { cout<<i<<endl; totalNum++; } } return totalNum; } int main() { int m; while (cin>>m) { cout<<CalcArmstrongNumber(m)<<endl; } return 0; }
原文地址:http://blog.csdn.net/xiaohanstu/article/details/41866827