Pagini recente » Cod sursa (job #2961533) | Cod sursa (job #1182132) | Cod sursa (job #1982812) | Cod sursa (job #2145780)
#include <fstream>
using namespace std;
ifstream fin("ssnd.in");
ofstream fout("ssnd.out");
long long int nrnr, sav, ras1, ras2, cnt, nri, help = 0;
bool flag[1000000];
long long int ciur[100000];
void div(long long int nrk){
for(long long int index = 0; nrk > 1; index++){
if(nrk % ciur[index] == 0){
sav = 1;
cnt = 0;
while(nrk % ciur[index] == 0){
cnt++;
sav *= ciur[index];
nrk /= ciur[index];
}
sav *= ciur[index];
ras1 *= cnt + 1;
ras2 *= (sav - 1) / (ciur[index] - 1);
ras2 %= 9973;
}
}
}
int main()
{
for(int index = 2; index <= 1000; index++){
if(flag[index] == false){
for(int index2 = index * index; index2 <= 1000000; index2 += index){
flag[index2] = true;
}
}
}
for(int index = 2; index <= 1000000; index++){
if(flag[index] == false){
ciur[help] = index;
help++;
}
}
fin >> nrnr;
for(long long int index = 0; index < nrnr; index++){
fin >> nri;
ras1 = 1;
ras2 = 1;
div(nri);
fout << ras1 << " " << ras2 << endl;
}
return 0;
}