首先要知道什么是阿姆斯特朗数?
好了,我们已知什么是阿姆斯特朗数,就要开始判断了:
1、求出给定数字的位数:
- 调用math函数:
floor(log10(num) + 1);
// floor返回小于等于参数的最大整数
// 别忘了要包括头文件:include <math.h>
- 也可以自己利用while()自己编写:
int digits = 0; // digits为位数的意思
while (num != 0) {
num /= 10;
++digits;
}
2、求出每一位的数字并依次以位数次方相加
- 方法一:
// find the sum of its own digits each raised to the power of the number of digits
for (i;i < input;i *= 10)
{
result += round(pow((input %