Mai intai trebuie sa te autentifici.

Cod sursa(job #2438078)

Utilizator CuriosaurusIonita Lucian Andrei Curiosaurus Data 11 iulie 2019 11:38:00
Problema Suma si numarul divizorilor Scor 20
Compilator c-64 Status done
Runda Arhiva educationala Marime 1.02 kb
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

void ciur(int n, FILE **write)
{
    int i, j, nr = 2, s = n + 1;
    int *a = (int*)calloc(n, sizeof(int));
    for(i = 2; i < n; i++)
    {
        if(!a[i])
        {
            if(n % i == 0)
            {
                s += i;
                nr++;
            }
            for(j = i * 2; j <= sqrt(n); j += i)
            {
                if(!a[j])
                {
                    a[j] = 1;
                    if(n % j == 0)
                    {
                        s += j;
                        nr++;
                    }
                }
            }
        }
    }

    fprintf(*write, "%d %d \n", nr, s % 9973);
}
int main()
{
    FILE *read = fopen("ssnd.in", "r");
    FILE *write = fopen("ssnd.out", "w");

    int n, x;
    fscanf(read, "%d", &n);
    for(int i = 0; i < n; i++)
    {
        fscanf(read, "%d", &x);
        ciur(x, &write);
    }

    fclose(read);
    fclose(write);
    return 0;
}