Pagini recente » Cod sursa (job #1724868) | Cod sursa (job #2286558) | Cod sursa (job #560088) | Cod sursa (job #2514620) | Cod sursa (job #2147335)
#include <iostream>
#include <fstream>
#include <math.h>
#define lel 1000001
using namespace std;
ifstream f("ssnd.in");
ofstream g("ssnd.out");
const int mod = 9973;
int t;
long long prod,nr;
int ciur[lel];
void prime()
{
int i,j;
for(i=2;i<=lel; i++)
ciur[i] = 1;
for(i=2;i<=lel;i++)
if(ciur[i])
for(j=i+i;j<=lel;j+=i)
ciur[j] = 0;
}
int main()
{
f>>t;
int i,j,n,x;
int d,p;
prime();
while(t--)
{
f>>n;
prod = 1;
nr = 1;
for(i=2;i*i<=n;i++)
if(ciur[i])
{
if( n % i ==0)
{
p = 0;
x = n;
d = i;
while( x % d == 0)
{
++p;
x/=d;
}
nr = nr*(p+1);
prod = (prod* (( pow(d,p+1)-1)/(d-1)));
prod %= mod;
}
else
{
nr = 2;
prod = n+1;
}
}
g<<nr<< " "<<prod << "\n";
}
}