zl程序教程

您现在的位置是:首页 >  其它

当前栏目

习题 3.20 一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如,6的因子为1,2,3,而6=1+2+3,因此6是“完数”。编程序找出1000之内的所有完数。

一个 所有 这个 习题 如果 找出 等于 1000
2023-09-14 09:06:56 时间

C++程序设计(第三版) 谭浩强 习题3.20 个人设计

习题 3.20 一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如,6的因子为1,2,3,而6=1+2+3,因此6是“完数”。编程序找出1000之内的所有完数,并按下面格式输出其因子:6,its factors are 1, 2, 3

代码块:

#include <iostream>
using namespace std;
int main()
{
    int i, j, sum;
    for (i=1; i<=1000; i++){
        for (j=1, sum=0; j<i; i%j==0 ? sum+=j++ : j++);
        if (sum==i){
            cout<<i<<','<<"its factors are ";
            for (j=1; j<i; i%j==0 ? cout<<j<<',', j++ : j++);
            cout<<'\b'<<' '<<endl;
        }
    }
    system("pause");
    return 0;
}