Pagini recente » Cod sursa (job #1157542) | Cod sursa (job #1325954) | Cod sursa (job #2342428) | Cod sursa (job #2050935) | Cod sursa (job #2117467)
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <vector>
#include <climits>
#define MOD 9973
using namespace std;
FILE * f = fopen("ssnd.in", "r");
FILE * g = fopen("ssnd.out", "w");
bool isColorat[4000001];
int main()
{
long long n;
int x, suma, s;
fscanf(f, "%lld", &n);
for (long long i = 2; i <= 4000000; i++)
{
if (isColorat[i] == 0)
{
for (long long j = 2 * i; j <= 4000000; j = j + i)
isColorat[j] = 1;
}
}
for (long long i = 1; i <= n; i++)
{
s = 0;
suma = 0;
fscanf(f, "%i", &x);
if (isColorat[x] == 0)
{
suma = (1 + x % MOD) % MOD;
fprintf(g, "%i %i\n", 2, suma);
continue;
}
else
{
for (int d = 1; d * d + 1 <= x; d++)
{
if (x % d == 0 && d * d != x)
{
s += 2;
suma = (suma + d % MOD) % MOD;
suma = (suma + (x / d) % MOD) % MOD;
}
if (d * d == x)
{
s++;
suma = (suma + d % MOD) % MOD;
}
}
suma = suma % MOD;
fprintf(g, "%i %i\n", s, suma);
}
}
return 0;
}