7-12 求因子和最大的数 (40 分)
我们定义正整数的因子和指1个正整数的因子中,不包括自己的其它所有因子之和。例如,4的因子和是1+2=3,6的因子和是1+2+3=6,7的因子和是1,8的因子和是1+2+4=7,9的因子和是1+3=4。我们约定1的因子和是0。 本题要求你编程求一组正整数中因子和最大的数。
输入格式:
输入包括2行。 第一行是1个正整数n,表示第2行会有n个正整数。
输出格式:
输出第2行的n个正整数中因子和最大的那个数。
#include<stdio.h>
int main()
{
int n,i,max=0,o;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
int x;
scanf("%d",&x);
int j;
int k=0;
for(j=1;j<x;j++)
{
if(x%j==0)
k=k+j;
if(x%j!=0)
k=k+0;
}
if(max<=k)
{
max=k;
o=x;
}
}
printf("%d",o);
}