Cod sursa(job #1644845)

Utilizator alexppPopovici Alexandru alexpp Data 10 martie 2016 09:49:28
Problema Suma si numarul divizorilor Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.78 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("ssnd.in");
ofstream g("ssnd.out");
int nrdiv(long long k)
{
    int i, nr=0;
    if(k==1)
        return 1;
    else
    {
        for(i=1;i*i<k;i++)
             if(k%i==0)
                {
                    nr=nr+2;
                }
        if(i*i==k)
            nr++;
    }
    return nr;
}
int sumdiv (long long k)
{
     long long i, s=0;
    if(k==1)
        return 1;
    else
    {
        for(i=1;i*i<k;i++)
             if(k%i==0)
                 s=s+i+k/i;
        if(i*i==k)
            s=s+i;
    }
    return s;
}
int main()
{
    long long x, k, i;
    f>>k;
    for(i=1;i<=k;i++)
        {f>>x;
        g<<nrdiv(x)<<" "<<sumdiv(x)<<"\n";}
    return 0;
}