Cod sursa(job #2589125)
| Utilizator | Data | 25 martie 2020 20:20:28 | |
|---|---|---|---|
| Problema | Suma si numarul divizorilor | Scor | 60 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.69 kb |
#include <stdio.h>
FILE *fin, *fout;
void go (long long x) {
if (x==1)
fprintf (fout, "1 1\n");
else {
long long i, sum=x+1, ct=2;
for (i=2; i*i<x; i++)
if (x%i==0) {
sum+=i+x/i;
ct+=2;
sum%=9973;
}
if (x%i==0) {
sum+=i;
ct+=2;
sum%=9973;
}
fprintf (fout, "%d %d\n", ct, sum);
}
}
int main (void) {
fin=fopen ("ssnd.in", "r"),
fout=fopen ("ssnd.out", "w");
long long n, x;
fscanf (fin, "%lld", &n);
for (; n; n--) {
fscanf (fin, "%lld", &x);
go(x);
}
return 0;
}
