Pagini recente » Cod sursa (job #2966683) | Cod sursa (job #877788) | Cod sursa (job #2312662) | Cod sursa (job #1967990) | Cod sursa (job #2508299)
#include <fstream>
using namespace std;
int sEuler(long long n)
{
int total=1;
for(int i=2; (i*i<=n&&n>1); i++)
{
int suma=1, temp=1;
while(n%i==0)
{
temp=(temp*i)%9973;
suma=(suma+temp)%9973;
n/=i;
}
total*=suma;
total%=9973;
}
if(n>=2)
total=(total*(n+1))%9973;
return total;
}
int nEuler(long long n)
{
int drp=1;
for(int i=2; (i*i<=n&&n>1); i++)
{
int p=0;
while(n%i==0)
{
n/=i;
p++;
}
drp=(drp*(p+1));
}
if(n>1)
drp=drp<<1;
return drp;
}
ifstream fin("ssnd.in");
ofstream fout("ssnd.out");
int main()
{
long long n, t; fin>>t;
for(int drp=0; drp<t; drp++)
{
fin>>n;
fout<<nEuler(n)<<" "<<sEuler(n)<<endl;
}
fin.close();
fout.close();
return 0;
}