编一个程序,打印输出6~1000范围内所有的合数。 所谓合数是指一个数等于其诸因子之和的数。 例如,6=1+2+3,28=1+2+4+7+14,则6、28就是合数。c语言
时间: 2024-10-28 12:11:39 浏览: 34
数学判断一个数是否为素数
在C语言中编写一个程序,用于找出并打印6到1000范围内的所有合数,可以使用循环和条件判断来实现。以下是一个简单的示例:
```c
#include <stdio.h>
// 判断是否为合数的函数
int is_composite(int num) {
if (num <= 1) {
return 0; // 1不是合数
}
for (int i = 2; i * i <= num; i++) { // 遍历从2到sqrt(num)
if (num % i == 0) {
return 1; // 如果能被整除,说明是合数
}
}
return 0; // 如果没被整除,说明是质数
}
int main() {
int start = 6;
int end = 1000;
printf("合数在6到1000之间的有:\n");
for (int i = start; i <= end; i++) {
if (is_composite(i)) {
printf("%d ", i);
}
}
return 0;
}
```
这个程序首先定义了一个`is_composite`函数,通过遍历从2到`num`的平方根检查每个数字是否能被整除,如果能就返回1(表示合数),否则返回0(表示非合数)。然后在主函数中,从6开始到1000,对每个数调用`is_composite`,如果是合数则打印出来。
阅读全文