Cod sursa(job #69596)

Utilizator cos_minBondane Cosmin cos_min Data 3 iulie 2007 16:29:26
Problema Sum Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <stdio.h>
#include <string.h>

int x[100001], n, i, j, m, t, ok[100001];
long long int sum;

int Cmmdc(int a, int b);

int main()
{
    FILE *fin = fopen("sum.in", "r");   
    FILE *fout = fopen("sum.out", "w");
    
    fscanf(fin, "%d", &n);
    for ( i = 1; i <= n; i++ )
    {
        t = 0;
        fscanf(fin,"%d", &t);
        memset(ok, 0, 2*t*sizeof(ok[0]));  
        for ( j = 1; j*j <= 2*t; j++ )
        {
            int k = 1;
            while ( j*k <= 2*t )
            {
                if ( ok[j*k] == 0 ) sum+= j*k;
                ok[j*k] = 1;
                k++;
            }
        }        
        fprintf(fout,"%lld\n", sum);
        sum = 0;
    }
    fclose(fin);
    fclose(fout);
}  

int Cmmdc(int a,int b)
{
    if ( b == 0 ) return a;
    return Cmmdc(b, a%b);
}