Cod sursa(job #1644926)

Utilizator IstrateSamuelIstrate Samuel IstrateSamuel Data 10 martie 2016 10:18:26
Problema Suma si numarul divizorilor Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("ssnd.in");
ofstream g("ssnd.out");
bool a[1000005];
int v[1000005];
int main()
{int i,j,k=0,n,x,d,nr,s,num;
a[1]=1;
for(i=2;i<=1000000;i++)
    if(a[i]==0)
    for(j=i+i;j<=1000000;j=j+i)
    a[j]=1;
for(i=2;i<=1000000;i++)
    if(a[i]==0) v[++k]=i;
f>>n;
for(j=1;j<=n;j++)
{
nr=1;
s=1;
    f>>x;
for(i=1;i<=x;i++)
{num=0;
if(x%v[i]==0)  num++;
int c=x;
    while(c%v[i]==0)
    {
        num++;
        c=c/v[i];
    }
if(num!=0)
nr=nr*num;
int r=1;
for(d=1;d<=num;d++)
    r=r*v[i];
if(r-1!=0)
s=s*(r-1)/(v[i]-1);
}
g<<nr<<' '<<s<<'\n';
}
    return 0;
}