用C语言写一个程序:输出100以内的完数
时间: 2023-12-03 13:03:40 浏览: 190
完数指一个数恰好等于它的因子之和(不包括它本身),例如6是一个完数,因为6的因子有1、2、3,而1+2+3=6。
以下是C语言程序:
```c
#include <stdio.h>
int main() {
int i, j, sum;
printf("100以内的完数有:\n");
for (i = 1; i <= 100; i++) {
sum = 0;
for (j = 1; j < i; j++) {
if (i % j == 0) {
sum += j;
}
}
if (sum == i) {
printf("%d ", i);
}
}
return 0;
}
```
程序中先循环1到100,每次都将变量sum初始化为0,然后再循环1到当前数i的前一位,判断如果i能被j整除,就将j加到sum中。最后再判断sum是否等于i,如果是,则输出i。
相关问题
用c语言编写程序:求10000以内完数
请问您需要一个 c 语言实现求 10000 以内的完数的程序吗?如果需要的话,以下是一个简单的 c 语言程序实现:
#include <stdio.h>
int main()
{
int i, j, sum;
printf("10000 以内的完数有:\n");
for (i = 2; i < 10000; i++) {
sum = 0;
for (j = 1; j < i; j++) {
if (i % j == 0) {
sum = sum + j;
}
}
if (sum == i) {
printf("%d ", i);
}
}
printf("\n");
return 0;
}
该程序使用两个 for 循环进行计算,判断每一个数是否为完数。如果是完数,则输出该数。
用c语言写一个程序写出1000以内的完数
好的,以下是使用C语言编写的程序,可以输出1000以内的完数。
```c
#include <stdio.h>
int main() {
int i, j, sum;
for (i = 1; i <= 1000; i++) {
sum = 0; // 初始化sum
for (j = 1; j < i; j++) {
if (i % j == 0) {
sum += j; // 累加因子
}
}
if (sum == i) { // 判断是否为完数
printf("%d\n", i);
}
}
return 0;
}
```
程序运行结果:
```
6
28
496
```
以上就是使用C语言编写的输出1000以内的完数的程序。
阅读全文