Pagini recente » Cod sursa (job #840428) | Cod sursa (job #732022) | Cod sursa (job #2843798) | Cod sursa (job #1376057) | Cod sursa (job #707849)
Cod sursa(job #707849)
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
using namespace std;
#define ifile "fractii.in", "r"
#define ofile "fractii.out", "w"
FILE *f=fopen(ifile), *g=fopen(ofile);
typedef unsigned long long ulong;
int n, *A;
int ciur(int n){
int i, j;
for(i = 1; i <= n; ++i){
A[i] = i;
}
for(i = 2; i <= n; ++i){
if(A[i] == i){
for(j = i; j<=n; j+=i){
A[j] /= i, A[j] *= (i-1);
}
}
}
return 0;
}
ulong getCount(int n)
{
ulong count = 0;
for(int i = 2; i <= n; ++i)
count += A[i];
return 1 + 2 * count;
}
int main()
{
fscanf(f, "%d", &n);
A = new int[n+3];
ciur(n);
ulong val = getCount(n);
fprintf(g, "%lld", val);
return 0;
}