題目:輸入正數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;
}