Pagini recente » Cod sursa (job #753989) | Cod sursa (job #2770708) | Cod sursa (job #1723199) | Cod sursa (job #1275720) | Cod sursa (job #2227712)
#include <bits/stdc++.h>
using namespace std;
vector <int> ciur;
bitset <1000001> frequency;
void buildCiur(){
for(int i = 2; i <= 1000000; ++i){
if(frequency[i]) {
continue;
}
ciur.push_back(i);
for(int j = i + i; j <= 1000000; j += i)
frequency[i] = 1;
}
}
int main()
{
ifstream fin("ssnd.in");
ofstream fout("ssnd.out");
buildCiur();
int n;
fin >> n;
for(int i = 1; i <= n; ++i){
long long x;
long long suma = 1;
int divizori = 1;
fin >> x;
for(auto prime : ciur){
if(1LL * prime * prime > n){
break;
}
long long putere = 1;
int exponent = 0;
while(x % prime == 0){
x /= prime;
putere *= prime;
exponent += 1;
}
divizori *= (1 + exponent);
suma *= (putere * prime - 1) / (prime - 1);
}
if(x > 1){
divizori <<= 1;
suma *= (x + 1);
}
fout << divizori << ' ' << suma % 9973 << '\n';
}
return 0;
}