Pagini recente » Cod sursa (job #1171001) | Cod sursa (job #1700398) | Cod sursa (job #2489576) | Cod sursa (job #1804719) | Cod sursa (job #890393)
Cod sursa(job #890393)
#include<fstream>
using namespace std;
ifstream in("ssnd.in");
ofstream out("ssnd.out");
#define R 9973
long long n, i, nr, p;
long long nrdiv(long long nr)
{
long long p=0, div=1;
while(nr%2==0)
{
p++;
nr/=2;
}
div*=p+1;
for(long long i=3;i*i<=nr;i+=2)
{
p=0;
while(nr%i==0)
{
p++;
nr/=i;
}
div*=p+1;
}
if(nr!=1)
div*=2;
return div;
}
long long sumadiv(long long nr)
{
long long p=1, suma=1;
for( long long i=2;i<=nr;i++)
{
p=1;
while(nr%i==0)
{
p*=i;
nr/=i;
}
suma*=(p*i-1)/(i-1)%R;
}
return suma;
}
int main()
{
in >> n;
for(i=1;i<=n;i++)
{
in >>nr;
out << nrdiv(nr) << " ";
out << sumadiv(nr)%R << "\n";
}
in.close();
out.close();
return 0;
}