Pagini recente » Cod sursa (job #1580429) | Cod sursa (job #2437798) | Cod sursa (job #1464724) | Cod sursa (job #3135007) | Cod sursa (job #1193484)
#include<fstream>
#include<iostream>
using namespace std;
const long MAX=1000001;
bool prim[MAX];
void eratostene(){
for(long i=2;i<MAX;i++)
prim[i]=true;
for(long i=2;i<MAX;i++){
if(prim[i]==true){
for(long j=i*2;j<MAX;j+=i)
prim[j]=false;
}
}
}
int main(){
ifstream fin("ssnd.in");
ofstream fout("ssnd.out");
int n,nr;
fin>>n;
eratostene();
long long x,sum,prod,div,d;
while(fin>>x){
nr=1; //nr de div
sum=1;//suma div
for(long i=2;i<MAX;i++){
if(prim[i]){
d=0;
prod=1;
while(x%i==0){
d++;
x/=i;
prod*=i;
}
if(d>0){
nr*=(d+1);
sum*=((prod*i-1)/(i-1));
sum%=9973;
}
if(x==1)
break;
}
}
fout<<nr<<" "<<sum<<"\n";
}
return 0;
}