Pagini recente » Cod sursa (job #1509650) | Cod sursa (job #2506793) | Cod sursa (job #698322) | Cod sursa (job #204666) | Cod sursa (job #980124)
Cod sursa(job #980124)
#include <cstdio>
#include <cmath>
#define ll long long
#define LEN 1000007
#define RLN 500007
#define MOD 9973
int primes[RLN];
int pl;
void precompute_primes() {
int sieve[LEN];
for (int i = 0; i < LEN; ++i) {
sieve[i] = 0;
}
for (int i = 2; i < LEN; ++i) {
if (sieve[i] != 0) {
continue;
}
primes[pl++] = i;
for (int j = i << 1; j < LEN; j += i) {
sieve[j] = 1;
}
}
}
int main() {
int t;
int rn;
int count;
int sum;
ll n;
precompute_primes();
freopen("ssnd.in", "r", stdin);
freopen("ssnd.out", "w", stdout);
scanf("%d",&t);
while (t--) {
scanf("%lld", &n);
rn = sqrt(n);
count = 2;
sum = (1 + n) % MOD;
for (int i = 0; primes[i] <= rn; ++i) {
if (n % ((ll) primes[i])) {
count += 2;
sum = (sum + (primes[i] + (n / ((ll) primes[i]))) % MOD ) % MOD;
}
}
printf("%d %d\n", count, sum);
}
return 0;
}