Pagini recente » Cod sursa (job #1722276) | Cod sursa (job #2417242) | Cod sursa (job #2218315) | Cod sursa (job #1633327) | Cod sursa (job #2200963)
#include <stdio.h>
#include <cstdlib>
#define MAX_N 10000000
#define MOD 9973
int main() {
int n;
int element;
int *divisorsCount = (int *)calloc(MAX_N, sizeof(int));
int *divisorsSum = (int *)calloc(MAX_N, sizeof(int));
FILE *input = fopen("ssnd.in", "r");
FILE *output = fopen("ssnd.out", "w");
divisorsCount[0] = 0;
divisorsCount[1] = 1;
divisorsSum[0] = 0;
divisorsSum[1] = 1;
for(int i = 2; i <= MAX_N; i++) {
divisorsCount[i] = 2;
divisorsSum[i] = 1 + i;
}
for(int i = 2; i <= MAX_N; i++)
for(int j = i + i; j <= MAX_N; j = j + i) {
divisorsCount[j] += 1;
divisorsSum[j] += i;
divisorsSum[j] %= MOD;
}
fscanf(input, "%d", &n);
for (int i = 0; i < n; i++) {
fscanf(input, "%d", &element);
fprintf(output, "%d %d\n", divisorsCount[element], divisorsSum[element]);
}
free(divisorsCount);
free(divisorsSum);
fclose(input);
fclose(output);
return 0;
}