Pagini recente » Cod sursa (job #1060021) | Cod sursa (job #173260) | Cod sursa (job #2692372) | Cod sursa (job #2469514) | Cod sursa (job #1141010)
#include<fstream>
#include<cmath>
#include<vector>
#define MOD 9973
#define maxim 1000005
using namespace std;
ifstream f("ssnd.in");
ofstream g("ssnd.out");
bool viz[maxim];
vector<int>v;
int k,n,i;
long long fa,e1,nrdiv,sumdiv;
void ciur()
{
int i,j;
for(i=2;i<=maxim;i++)
if(viz[i]==0)
{v.push_back(i);
for(j=i+i;j<=maxim;j+=i)
viz[j]=1;
}
}
void calculeaza(long long nr)
{
nrdiv=1;sumdiv=1;
i=0;
while(nr>1)
{
if(nr%v[i]==0)
{
fa=v[i];e1=0;
while(nr%v[i]==0)
{
nr/=v[i];
fa*=v[i];
e1++;
}
nrdiv*=(e1+1);
sumdiv*=((fa-1)/(v[i]-1)%MOD)%MOD;
}
i++;
}
if(nr>1){nrdiv*=2;sumdiv*=(nr+1)%MOD;}
g<<nrdiv<<" "<<sumdiv%MOD<<'\n';
}
int main()
{
long long a;int i;
ciur();
f>>n;
for(i=1;i<=n;i++)
{
f>>a;
calculeaza(a);
}
g<<'\n';
return 0;
}