Pagini recente » Cod sursa (job #62625) | Cod sursa (job #1471577) | Cod sursa (job #342926) | Cod sursa (job #1137690) | Cod sursa (job #2883825)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("fractii.in");
ofstream fout("fractii.out");
int cmmmdc(int a, int b){
while(b!=0){
int r = a % b;
a = b;
b = r;
}
return a;
}
int n, i, j, vec[1000001], cnt;
int main(){
for(i = 1; i <= 1000000; i++) vec[i] = i;
for(i = 2; i <= 1000000; i++){
if(vec[i] == i){
vec[i]--;
for(j = 2; j * i <= 1000000; j++)
vec[i*j] = vec[i*j] / i * (i - 1);
}
}
fin >> n;
cnt += n;
for(i = 2; i <= n; i++){
cnt += vec[i];
for(j = i + 1; j <= n; j++){
if(cmmmdc(i , j) == 1) cnt++;
}
}
fout << cnt;
}