C语言找出完数及其因子
时间: 2024-03-16 10:32:49 浏览: 22
完数是指一个数等于它的因子之和,例如6就是一个完数,因为6的因子为1、2、3,而1+2+3=6。下面是用 C 语言实现找出完数及其因子的代码:
#include <stdio.h>
int main()
{
int i, j, sum;
for (i = 1; i <= 1000; i++) {
sum = 0;
for (j = 1; j < i; j++) {
if (i % j == 0) {
sum += j;
}
}
if (sum == i) {
printf("%d 是一个完数,其因子为:", i);
for (j = 1; j < i; j++) {
if (i % j == 0) {
printf("%d ", j);
}
}
printf("\n");
}
}
return 0;
}
相关问题
c语言找出100以内的完数
完数是指一个数等于其因子之和,例如6是完数,因为6=1+2+3。下面是使用C语言找出100以内的完数的代码:
```c
#include <stdio.h>
int main() {
int i, j, sum;
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 is a perfect number.\n", i);
}
}
return 0;
}
```
在这个程序中,外层循环遍历1到100的所有数,内层循环计算每个数的因子之和。如果因子之和等于这个数本身,就输出这个数是完数。
c语言找出1000内的完数
完数是指一个数恰好等于它的因子之和,例如6是完数,因为6=1+2+3。以下是C语言代码实现1000内的完数:
```c
#include <stdio.h>
int main() {
int i, j, sum;
for (i = 1; i <= 1000; i++) {
sum = 0;
for (j = 1; j < i; j++) {
if (i % j == 0) {
sum += j;
}
}
if (sum == i) {
printf("%d ", i);
}
}
return 0;
}
```
输出结果为:6 28 496