如果一个正整数等于其各个数字的立方和,则该数称为阿姆斯特朗数(亦称为自恋性数)。如407=4^3+0^3+7^3就是一个阿姆斯特朗数。试编程求1000内的所有3位数的阿姆斯特朗数。 **输出格式要求:"There are following Armstrong number smaller than 1000:n" " %d " 程序运行示例如下: There are following Armstrong number smaller than 1000: 153 370 371 407
c语言代码如下
(此处用到一维数组,也有不用一维数组的方法见其他文章)
#include#include int main() { int i,arr[3],g=0,s=0,b=0; //定义数组存入不同位数的值 printf("There are following Armstrong number smaller than 1000:n"); for (i = 100; i < 1000; i++) { arr[0] = i % 10; g = pow(arr[0], 3); arr[1] = (i / 10) % 10; s = pow(arr[1], 3); arr[2] = (i / 100) % 10; b = pow(arr[2], 3); if ((g + s + b) == i) { printf(" %d ", i); } } }
运行结果如图:



