c 求1000以内的完数
时间: 2024-01-22 19:04:28 浏览: 85
以下是两种C语言求1000以内完数的例子:
1. 使用stdio.h库函数
```c
#include"stdio.h"
int main() {
int a, i, sum = 0, b=0;//a记录因数之和,sum记录1000以内的完数之和,b记录个数
for (i = 1; i <= 1000; i++) {
a = 0;//保证每次大循环a都为0;
for (int j = 1; j < i; j++)//小循环求因数
{
if (i % j == 0) {
a += j;//记录因数之和
}
}
if (a == i)//判断因数之和是否等于原数
{
printf("%d是完全数\n", i);
sum+=i;
b++;
}
}
printf("1000以内共有%d个完全数,这些完全数的和为%d", b, sum);
return 0;
}
```
2. 使用iostream库函数
```c++
#include<iostream>
using namespace std;
int main() {
int s;
cout<<"1000以内完数有"<<'\n';
//若一个数等于其因数之和,则为完数
for(int i=1;i<=1000;i++) {
s=0; //s值初始化
for(int j=1;j<i;j++) //求一个数的因数,若是则累加到s
{
if(i%j==0) //判断此时的j是否为i的因子
s+=j;
}
if(s==i)cout<<s<<'\t';
}
return 0;
}
```
阅读全文