Pagini recente » Cod sursa (job #2922785) | Cod sursa (job #447626) | Cod sursa (job #2579888) | Cod sursa (job #1793880) | Cod sursa (job #469527)
Cod sursa(job #469527)
#include <fstream>
#include<stdio.h>
#include <math.h>
using namespace std;
int ciur[1000001];
long long n, suma, divi, put;
int t, i, j, k;
int main()
{
ifstream f("ssnd.in");
ofstream g("ssnd.out");
f>>t;
for (i=1; i<=1000000; i++)ciur[i] = 1;
for (i=2; i*i < 1000000; i++)
if (ciur[i])
for (j=2; j*i < 1000000; j++)
ciur[i*j] = 0;
for (i=1; i<=t; i++)
{
f>>n;
divi= suma=1;
j = 2;
while (n>1)
{
while(!ciur[j])
j++;
put=0;
while (n%j==0)
{
put++;
n /= j;
}
divi*=(put+1);
suma*=((int(pow(j,put+1))-1)/(j-1));
j ++;
}
g<<divi<<' '<<suma%9973<<'\n';
}
f.close();
g.close();
return 0;
}