对于给定的N,找到他的所有较小的完美数字(完美数字是等于不等于自数的所有除数之和的数字)
你题目的解答代码如下:
#include <iostream>
using namespace std;
int main()
{
int i, j, s, n; /*变量i控制选定数范围,j控制除数范围,s记录累加因子之和*/
cin >> n; /* n的值由键盘输入*/
for (i = 2; i <= n; i++)
{
s = 0; /*保证每次循环时s的初值为0*/
for (j = 1; j < i; j++)
{
if (i % j == 0) /*判断j是否为i的因子*/
s += j;
}
if (s == i) /*判断因子这和是否和原数相等*/
cout << i << endl;
}
return 0;
}
如有帮助,望采纳!谢谢!