Cod sursa(job #702969)
Utilizator | Patiu Dan the_good90 | Data | 2 martie 2012 10:18:24 |
---|---|---|---|
Problema | Suma si numarul divizorilor | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.41 kb |
#include<cstdio>
using namespace std;
#define MAX 100001
int p[MAX][2]={0},T,t;
void gen()
{
for(int i=2;i<=MAX;++i)
if(!p[i][0])
for(int j=i*i;j<=MAX;j+=j)
{
p[j][0]+=i;
p[j][1]++;
}
}
int main()
{
freopen("ssnd.in","r",stdin);
freopen("ssnd.out","w",stdout);
scanf("%d",&T);
gen();
for(;T;T--)
{scanf("%d",&t);printf("%d %d",p[t][1]+1,(p[t][0]+1)%9973);}
return 0;
}