Pagini recente » Cod sursa (job #1097919) | Cod sursa (job #809274) | Cod sursa (job #310626) | Cod sursa (job #513442) | Cod sursa (job #1500339)
#include <fstream>
using namespace std;
unsigned long long pow(unsigned long long n, unsigned long p){
unsigned long long x=1;
while(p){
if(p&1){
x*=n;
p--;
}
n*=n;
p>>=1;
}
return x;
}
unsigned long divi(unsigned long long n, unsigned long div){
unsigned long q=0;
while(n%div==0){
q++;
n/=div;
}
return q;
}
int main(){
unsigned t; unsigned long long n;
ifstream f("ssnd.in");
f>>t;
ofstream g("ssnd.out");
while(t--){
f>>n;
unsigned long long div=2,nr=1,suma=1;
while(div*div<=n){
unsigned long putere=0;
if(n%div==0)
putere=divi(n,div);
nr*=putere+1;
suma*=(pow(div,putere+1)-1)/(div-1);
if(div==2)
div++;
else
div+=2;
}
if(nr>1)
g<<nr<<' '<<suma%9973<<'\n';
else
g<<2<<' '<<n+1<<'\n';
}
f.close();
g.close();
return 0;
}