Cod sursa(job #1812885)

Utilizator stefdascalescuStefan Dascalescu stefdascalescu Data 22 noiembrie 2016 15:23:30
Problema Suma si numarul divizorilor Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.96 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++;
                    s=s+j;
                    if(j!=(int)sqrt(n))
                    {
                        ++d;
                        s=s+n/j;
                    }
                    else
                    {
                        int q=(int)sqrt(n);
                        if(q!=n/q)
                        {
                            ++d;
                            s+=n/q;
                        }
                    }
                }
            g<<d<<" "<<s<<'\n';
        }
    }
    return 0;
}