编写一个程序,找出1000以内的所有“强整数”。强整数是指一个正整数,它的每一位的阶乘之和等于它本身,输出强整数以及他的个数配以中文提示。c语言
时间: 2024-12-19 10:27:39 浏览: 55
在C语言中,编写一个程序来查找并打印出1000以内的所有“强整数”需要一些循环结构、条件判断以及对阶乘的计算。这里是一个简单的示例代码:
```c
#include <stdio.h>
#include <stdbool.h>
// 计算阶乘
unsigned long long factorial(int n) {
if (n == 0 || n == 1)
return 1;
else
return n * factorial(n - 1);
}
// 判断是否是强整数
bool isStrongNumber(int num) {
int sum = 0;
while (num > 0) {
int digit = num % 10; // 取最后一位数字
sum += factorial(digit); // 加上该位的阶乘
num /= 10; // 移除最后一位
}
return sum == num;
}
int main() {
int count = 0;
for (int i = 1; i <= 1000; ++i) {
if (isStrongNumber(i)) {
printf("%d 是强整数,其各位阶乘之和等于自身。\n", i);
count++;
}
}
printf("共有 %d 个强整数在1到1000之间。\n", count);
return 0;
}
```
这个程序首先定义了一个`factorial`函数用于计算阶乘,然后在`isStrongNumber`函数中检查一个数是否满足强整数的条件。在主函数`main`中,通过遍历1到1000之间的所有整数,找到并打印出所有符合条件的强整数。
阅读全文
相关推荐


















