Cod sursa(job #1641832)

Utilizator DaniellDa Vinci Daniell Data 9 martie 2016 11:05:49
Problema Suma si numarul divizorilor Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include <fstream>


using namespace std;
ifstream fin("ssnd.in");
ofstream fout("ssnd.out");
int nc,t,c[1000001],i,j,n,v[100001],k=0,h,s,cc;


void ciur()
{for(i=1;i<=1000000; i++) c[i] =1;
for(i=2;i<=1000000;i++)
if(c[i] == 1)
{v[++k]=i;
for(j=2;j*i <= 1000000;j++)  c[i*j] = 0;}
}
void afisare()
{fout<<cc<<" "<<s%9973<<"\n";}

void rezolva()
{s=1;cc=1;
for(i=1;v[i]<=n;i++){
        if(n%v[i]==0){
            s+=i;cc++;
for(j=v[i];v[i]*j<=n;j++)
if(n%(v[i]*j)==0)
{s+=v[i]*j;cc++;}
}
}
}

int main()
{ciur();
fin>>t;
for(h=1;h<=t;h++)
{fin>>n;
rezolva();
afisare();
}
    return 0;
}