Cod sursa(job #1644801)

Utilizator alexppPopovici Alexandru alexpp Data 10 martie 2016 09:33:18
Problema Suma si numarul divizorilor Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.77 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("ssnd.in");
ofstream g("ssnd.out");
int nr, k, s=0, x, i;
int nrdiv(int 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 (int k)
{
     int 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()
{
    f>>k;
    for(i=1;i<=k;i++)
    {
        f>>x;
        g<<nrdiv(x)<<" "<<sumdiv(x)<<"\n";
    }
    return 0;
}