Pagini recente » Cod sursa (job #3274136) | Cod sursa (job #2723230) | Cod sursa (job #2310338) | Cod sursa (job #1543410) | Cod sursa (job #2539588)
#include <fstream>
#include <cmath>
using namespace std;
ifstream fin("ssnd.in");
ofstream fout("ssnd.out");
int t, i, j;
long long n;
bool ciur[1000];
void ciurul(){
ciur[1]=1;
for(i=2;i*i<=n;i++){
if( !(ciur[i]) )
for(j=2;j<=n/i;j++) ciur[j*i]=1;
}
}
int main()
{
long long suma, nrdiv=1, expo=0, baza;
fin>>t;
ciurul();
for(i=0;i<t;i++){
fin>>n;
///fout<<"\n\nn="<<n<<"\n";
j=2;
suma=1;
nrdiv=1;
while(n!=1){
///fout<<"j="<<j<<"\n";
expo=0;
if(n%j==0){
baza=j;
while(n%j==0){
expo++;
n/=j;
}
///fout<<baza<<" "<<expo<<"\n";
suma*=(pow(baza, expo+1)-1)/(baza-1);
}
nrdiv*=(expo+1);
j++;
}
fout<<nrdiv<<" "<<9973%suma<<"\n";
}
}