Cod sursa(job #2592381)

Utilizator darkeagleDaniel Popescu darkeagle Data 1 aprilie 2020 17:20:18
Problema Sum Scor 70
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <iostream>
#include <cstdio>
#define nmax 100001
using namespace std;
FILE * f = fopen("sum.in", "r");
FILE * g = fopen("sum.out", "w");
int n;
int phi[nmax], a[nmax];
int main() {
    int i, j, x, max = 0;
    fscanf(f,"%d",&n);
    for(i = 1;i <= n;i ++) {
        fscanf(f,"%d",&a[i]);
        if(max < a[i])
            max = a[i];
    }

    phi[1] = 0;  
     
    for(i=2;i<=max;i++) {
        phi[i] = i-1;
         
    }
    for(i=2 ;i <= max; i++) {
        for(j = 2*i;j <= max;j += i) {
            phi[j] -= phi[i];
             

        }
    }
    long long int t;
    for(i = 1;i <= n - 1; i++) {
        t = a[i] * phi[a[i]] *2;
        fprintf(g,"%lld\n",t);
    }
     
        t = a[n] * phi[a[n]] *2;
        fprintf(g,"%lld",t); 
    fclose(f);
    fclose(g);

    return 0;

}