Pagini recente » Cod sursa (job #1431469) | Cod sursa (job #1373145) | Cod sursa (job #1691719) | Cod sursa (job #2023644) | Cod sursa (job #1025897)
#include <fstream>
#include <iostream>
#include <map>
using namespace std;
ifstream f("ssnd.in");
ofstream g("ssnd.out");
pair<long long, int> getPrimeDecomposition(long long N){
pair<long long, int> result;
long long k, sum, p, totalSum = 1;
int pow, div = 1;
for (k = 2; k <= N; k++){
pow = 0;
sum = 0;
p = 1;
while (N % k == 0){
N/=k;
sum+=p;
p*=k;
pow++;
}
if (pow > 0){
sum+=p;
div*=(1 + pow);
totalSum*=sum;
}
}
result.first = totalSum;
result.second = div;
return result;
}
void solve(long long N){
pair<long long, int> p = getPrimeDecomposition(N);
g << p.second << " " << p.first % 9973 << "\n";
}
int main() {
int t;
long long N;
f >> t;
for (int i = 1; i <= t; i++){
f >> N;
solve(N);
}
f.close();
g.close();
return 0;
}