Pagini recente » Cod sursa (job #235112) | Cod sursa (job #1079298) | Cod sursa (job #1885193) | Cod sursa (job #934893) | Cod sursa (job #1499626)
#include <iostream>
#include <fstream>
using namespace std;
long long pow(unsigned long long n, unsigned long long p){
long long x=1;
while(p){
if(p&1){
x*=n;
p--;
}
n*=n;
p>>=1;
}
return x;
}
int main(){
unsigned t; unsigned long long n;
ifstream f("ssnd.in");
f>>t;
cout<<t;
ofstream g("ssnd.out");
while(t--){
f>>n;
unsigned long long q=0,Q=1,x=3,suma=1;
while(n%2==0&&n>1){
n/=2;
q++;
}
if(q){
Q*=q+1;
suma*=pow(2,q+1)-1;
}
while(n>1){
q=0;
while(n%x==0){
q++;
n/=x;
}
if(q){
Q*=q+1;
suma*=(pow(x,q+1)-1)/(x-1);
}
x+=2;
}
if(Q==1)
q=2;
g<<Q<<' '<<suma%9973<<'\n';
}
f.close();
g.close();
return 0;
}