Cod sursa(job #1843108)

Utilizator raduzxstefanescu radu raduzx Data 8 ianuarie 2017 09:18:38
Problema Suma si numarul divizorilor Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 1.02 kb
#include <fstream>
#include <cmath>
using namespace std;
ifstream f("ssnd.in");
ofstream g("ssnd.out");
bool v[1000004];
int main()
{
    long long t,i,j;
    f>>t;
    for(i=2;i<=99999;i++)
    {
        if(v[i]==0)
        {
            j=i;
            while(j<=1000000)
            {
                v[j]=1;
                j+=i;
            }
        }
    }
    long long a,n,s,p,e;
    for(j=1;j<=t;j++)
    {
        f>>a;
        s=sqrt(a);
        p=0;
        e=0;
        for(i=1;i<=s-1;i++)
        {
            if(a%i==0)
            {
                p+=2;
                e+=i+(a/i);
                e%=9973;
            }
        }
        if(s*s==a)
        {
            p+=1;
            e+=s;
            e%=9973;
        }
        else
        {
            if(a%s==0)
            {
                p+=2;
                e+=s+a/s;
                e%=9973;
            }
        }
        g<<p<<" "<<e<<'\n';
    }
    f.close();
    g.close();
    return 0;
}