Pagini recente » Cod sursa (job #3234601) | Cod sursa (job #1923260) | Cod sursa (job #2941390) | Cod sursa (job #2195160) | Cod sursa (job #2508221)
#include <fstream>
using namespace std;
int sEuler(int n)
{
int total=1;
for(int i=2; (i*i<=n&&n>1); i++)
{
int suma=1, temp=1;
while(n%i==0)
{
temp*=i;
suma=suma+temp;
n/=i;
}
total*=suma;
}
if(n>=2)
total=total*(n+1);
return total;
}
int nEuler(int 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))%9973;
}
if(n>1)
drp=(2*drp)%9973;
return drp;
}
ifstream fin("ssnd.in");
ofstream fout("ssnd.out");
int main()
{
int n, t; fin>>t;
for(int drp=0; drp<t; drp++)
{
fin>>n;
fout<<sEuler(n)<<" "<<nEuler(n)<<endl;
}
fin.close();
fout.close();
return 0;
}