[华为机试练习题]48.阿姆斯特朗数

题目

描写叙述:

假设一个正整数等于其各个数字的立方和,则该数称为阿姆斯特朗数(亦称为自恋性数),1除外。如407 = 43+03+73就是一个阿姆斯特朗数。

试编程求n(n ≤ 65536)以内的全部阿姆斯特朗数。

接口说明
原型:

int CalcArmstrongNumber(int n);

输入參数:

int n: n ≤ 65536

返回值:

   n以内的阿姆斯特朗数的数量

练习阶段:

0基础 

代码

/*---------------------------------------
*   日期:2015-07-04
*   作者:SJF0115
*   题目:阿姆斯特朗数 
*   来源:华为机试练习题
-----------------------------------------*/
#include <iostream>
#include "OJ.h"
using namespace std;

/*
功能: 求n(n ≤ 65536)以内的全部阿姆斯特朗数
原型:
    int CalcArmstrongNumber(int n);

输入參数:
    int n: n ≤ 65536

返回值:
    n以内的阿姆斯特朗数的数量。

*/ int CalcArmstrongNumber(int n){ if(n <= 1){ return 0; }//if int sum,m,tmp,count = 0; for(int i= 2;i <= n;++i){ sum = 0; tmp = i; while(tmp){ m = tmp % 10; sum += m * m * m; tmp /= 10; }//while if(sum == i){ ++count; }//if }//if return count; }

原文地址:https://www.cnblogs.com/wgwyanfs/p/7268565.html