# 阶乘和数 一个正整数如果等于组成它的各位数字的阶乘之和,该整数称为阶乘和数。 例如,145=1!+4!+5!,则145是一个三位阶乘和数。 请输出所有阶乘数(不会超过十万) 以下程序实现了这一功能,请你填补空白处的内容: ```cpp #include int b[10] = {0, 1, 2, 6, 24, 120, 720, 5040, 40320, 362880}; int main() { int x, sum = 0, a; for (int j = 1; j <= 100000; j++) { sum = 0; a = j; while (j != 0) { ______________; } j = a; if (sum == a) { printf("%d ", j); } } return 0; } ``` ## template ```cpp #include int b[10] = {0, 1, 2, 6, 24, 120, 720, 5040, 40320, 362880}; int main() { int x, sum = 0, a; for (int j = 1; j <= 100000; j++) { sum = 0; a = j; while (j != 0) { x = j % 10; j /= 10; sum += b[x]; } j = a; if (sum == a) { printf("%d ", j); } } return 0; } ``` ## 答案 ```cpp x = j % 10; j /= 10; sum += b[x]; ``` ## 选项 ### A ```cpp x = j / 10; j %= 10; sum += b[x]; ``` ### B ```cpp x = j % 10; j %= 10; sum += b[x]; ``` ### C ```cpp x = j / 10; j /= 10; sum += b[x]; ```