判断一个数是否为阿姆斯特朗数是一道经典的算法问题。在 C 语言中实现这个算法非常简单,下面我们来介绍一下具体的实现方法。
阿姆斯特朗数是指一个 n 位数 (n≥3),它的每个数位上的数字的 n 次幂之和等于它本身。例如,1^3 + 5^3 + 3^3 = 153 就是一个阿姆斯特朗数。
要判断一个数是否为阿姆斯特朗数,我们需要首先获取该数的位数 n,然后将该数拆分成每个数字,计算每个数字的 n 次幂之和并进行累加,最后比较累加结果与原数是否相等即可。
以下是完整的源代码实现:
#include <stdio.h>
#include <math.h>
// 计算位数