Cod sursa(job #3265385)

Utilizator thinkphpAdrian Statescu thinkphp Data 29 decembrie 2024 21:00:47
Problema Fractii Scor 100
Compilator c-64 Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <stdio.h>
#define FIN "fractii.in"
#define FOUT "fractii.out"

void computePHI(long long int n, long long int *ptr) {
     long long phi[n+1];
     long long sum = 0;
     for(int i = 1; i <= n; ++i) phi[i] = i;
     for(int i = 2; i <= n; ++i) {
         //daca este numar prim
         if(phi[i]==i) {
            for(int j = i; j <= n; j+=i) {
                phi[j] = phi[j] / i * (i - 1);
            }
         }
         sum+=phi[i];
     }
     *ptr=(sum<<1)+1;
}

int main(int argc, char const *argv[]) {
  long long n, ans;
  freopen(FIN, "r", stdin);
  freopen(FOUT, "w", stdout);
  scanf("%lld",&n);
  computePHI(n,&ans);
  printf("%lld",ans);

  return 0;
}