首页 > 试题广场 >

求1000以内的所有完数。所谓完数,是指一个数恰好等于它的所

[问答题]

求1000以内的所有完数。所谓完数,是指一个数恰好等于它的所有因子之和。例如,因为6=1+2+3,所以6为完数。(编程题)

推荐
#include<iostream>
using namespace std;
int main()
{
int i,j,s;
     for( i=1; i<=1000; i++ )
     {
s = 0;
        for( j=1; j<i; j++ )
           if ( i % j == 0 ) s = s + j;
        if ( i == s ) cout << i << endl;
     }
}

发表于 2018-05-07 11:16:11 回复(0)
#include <stdio.h>
int main()
{
	int i, j, sum = 0;
	for (i = 1; i <= 1000; i++)
	{
		for (j = 1; j < i; j++)
		{
			if (i % j == 0)
				sum = sum + j;//算出所有因子的和
		}
		if (sum == i)
			printf("%d ", i);
		sum = 0;//重置sum
	}
}

发表于 2023-03-19 19:24:40 回复(0)