1040-约数之和

描述

 

给你一个数字求它的所有约数的和。

比如12,约数有1234612 加起来是28

现在给你一个数字I (1 <= I <= 1,000,000).

 

输入

 

一个数字I

 

输出

 

约数之和

 

样例输入

12

样例输出

28

#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
    int n,m;
    cin>>n;
    int a[1001],b[1001],c[1001];
    int i,j=0,k=0;
    for(i=0;i<n;i++)
        cin>>a[i];
    cin>>m;
    for(i=0;i<n;i++)
    {
        if(a[i]<m)
        {
            b[j]=a[i];
            j++;
        }
        else
        {
            c[k]=a[i];
            k++;
        }
    }
    if(k==0) 
    {
        for(i=0;i<j-1;i++)
            cout<<b[i]<<" ";
        cout<<b[j-1]<<endl<<endl;
    }
    else
    {
        for(i=0;i<j;i++)
            cout<<b[i]<<" ";
        for(i=0;i<k-1;i++)
            cout<<c[i]<<" ";
        cout<<c[k-1]<<endl;
        sort(c,c+k);
        for(i=0;i<k-1;i++)
            cout<<c[i]<<" ";
        cout<<c[k-1]<<endl;
    }
    return 0;
}

  

posted @ 2013-11-21 23:27  七年之后  阅读(350)  评论(0编辑  收藏  举报