Pagini recente » Cod sursa (job #2202421) | Cod sursa (job #2197703) | Cod sursa (job #2626833) | Cod sursa (job #1545502) | Cod sursa (job #2256133)
#include<bits/stdc++.h>
using namespace std;
#define MOD 9973
bool prim[1000100];
int main(){
ifstream in ("ssnd.in");
ofstream out ("ssnd.out");
for(long long i = 2 ; i <= 1000000 ; i ++){
if(prim[i] == 0){
for(long long j = i*i ; j <= 1000000 ; j += i)
prim[j] = 1 ;
}
}
vector<long long> a;
for(long long i = 2 ; i <= 1000000 ; i ++)
if(prim[i] == 0)
a.push_back(i);
int t , n ;
in >> t;
while(t--){
in >> n ;
map<long long,long long> m;
vector<long long>::iterator it = a.begin();
while(n != 1 ){
while(n % (*it) == 0){
m[(*it)]++;
n /= (*it);
}
it++;
}
double no = 1 , sum = 1 ;
int aux;
for(auto i:m){
no *= (i.second+1);
sum = sum * ((pow(i.first,i.second+1)-1)/(i.first-1));
aux = sum ;
aux %= MOD;
sum = aux ;
}
out << no <<" " << sum <<endl;
}
}