题目:输入正数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;
}