《编程题》循环语句的使用:编程求1000之内的所有“完数”

编程求1000之内的所有“完数”。所谓“完数”是指一个数恰好等于他的因子之和。例如:6是完数,因为6=1+2+3。

提示:循环所有的数,用电脑计算加和结果。

答案:

6

28

496

 

解法(用while循环实现)

#include <iostream>


int main(int argc, const char * argv[]) {

    int i = 2;
    int j = 0;
    int addValue = 0;
    
    while(i<1000)
    {
        j = 1;
        addValue = 0;
        while(j<i)
        {
            if(i%j == 0)
            {
                // 被整除 //
                addValue += j;
            }
            ++j;
        }
        
        if(addValue == i)
        {
            // 找到匹配的答案,打印输出 //
            std::cout<<i<<"\n";
        }
        
        ++i;
    }
}

 

posted @ 2016-07-17 11:14  看代码`lookdaima.com  阅读(1160)  评论(0编辑  收藏  举报