Pagini recente » Cod sursa (job #3219246) | Cod sursa (job #2494019) | Cod sursa (job #1837273) | Cod sursa (job #2499009) | Cod sursa (job #3129739)
#include <iostream>
#include <fstream>
#define mod 9973
using namespace std;
ifstream fin("a.in");
ofstream fout("a.out");
int t;
unsigned long long nr;
void divizorii_unui_numar(unsigned long long x)
{
unsigned long long s=0, d=1;
for(; d*d<x; d++)
if(x%d==0)
s+=(x/d+d)%mod;
if(d*d==x)
s=(s+d)%mod;
cout<<s;
}
void numarul_de_divizori(unsigned long long n)
{
unsigned long long p=0,nrd=1;
while(n%2==0)
p++, n/=2;
if(p)
nrd=nrd*(p+1);
unsigned long long d=3;
while(d*d<=n)
{
p=0;
while(n%d==0)
p++,n/=d;
if(p)
nrd=nrd*(p+1);
d+=2;
}
if(n!=1)
nrd=nrd*2;
cout<<nrd;
}
int main()
{
fin>>t;
for(int i=1;i<=t;i++)
{
fin>>nr;
numarul_de_divizori(nr);
cout<<" ";
divizorii_unui_numar(nr);
cout<<'\n';
}
}