Cod sursa(job #1812881)

Utilizator stefdascalescuStefan Dascalescu stefdascalescu Data 22 noiembrie 2016 15:19:59
Problema Suma si numarul divizorilor Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.8 kb
#include<bits/stdc++.h>
using namespace std;
ifstream f("ssnd.in");
ofstream g("ssnd.out");
long long t,n;
long long s,d;
int main()
{
    f>>t;
    for(int i=1;i<=t;++i)
    {
        f>>n;
        if(n==1)
            g<<1<<" "<<1<<'\n';
        else
        {
            s=n+1;
            d=2;
            for(long long j=2;j<(int)sqrt(n);++j)
                if(n%j==0)
                {
                    d+=2;
                    s=s+j;
                    s=s+n/j;
                }
            if(n%(int)sqrt(n)==0)
            {
                ++d;
                s+=(int)sqrt(n);
                if((int)sqrt(n)*(int)sqrt(n)!=n){
                    s+=n/(int)sqrt(n);++d;
                }
            }
            g<<d<<" "<<s<<'\n';
        }
    }
    return 0;
}