完全數

題目:輸入正數start和end,找出從start到end這一區間段內哪一個數n的因子和最大(要求對包括1但不包括n本身的所有因子求和),並將該n及其因子和maxSum作爲結果輸出。例如,當start=10,end=15時,所求的n應該爲12,而maxSum應該爲16.

C++實現:

#include <iostream>
using namespace std;
int main()
{
    int start,end;
    cout<<"Input two intrger:";
    cin>>start>>end;
    int sum=0,maxSum=0;
    int n;
    while(start<=end)
    {    
        for(int j=1;j<=(start-1);j++)
        {
            if(start%j==0)
                sum += j;
        }
        if(sum>maxSum)
        {
            maxSum = sum;
            n = start;
        }
        start++;
        sum=0;
    }
    cout<<n<<endl;
    cout<<maxSum<<endl;
    return 0;
}
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章