Pagini recente » Cod sursa (job #2774477) | Cod sursa (job #746578) | Cod sursa (job #2201972) | Cod sursa (job #2197400) | Cod sursa (job #3301537)
#include <iostream>
#include <vector>
#include <cmath>
using namespace std;
bool ciur[1000000];
void ciur_functie() {
ciur[0]=ciur[1]=1;
for (int i=2; i*i<=1000000; i++) {
if (ciur[i]==0) {
for (int d=i*i; d<=1000000; d+=i) {
ciur[d]=1;
}
}
}
}
int main() {
int t,n;
cin>>t;
ciur_functie();
vector<int> v;
for (int i=0; i<=1000000; i++) {
if (ciur[i]==0) v.push_back(i);
}
for (int i=1; i<=t; i++) {
cin>>n;
int poz=0,sum1=1,sum2=1,cnt=0;
while (n>1) {
if (n%v[poz]==0) {
cnt++;
n=n/v[poz];
}
else {
if (cnt>0) {
sum1=sum1*(cnt+1);
sum2=sum2*(pow(v[poz],cnt+1)-1)/(v[poz]-1);
}
poz++;
cnt=0;
}
}
if (cnt>0) {
sum1=sum1*(cnt+1);
sum2=sum2*(pow(v[poz],cnt+1)-1)/(v[poz]-1);
}
cout<<sum1<<' '<<sum2%9973<<'\n';
}
}