Pagini recente » Cod sursa (job #2569815) | Cod sursa (job #621247) | Cod sursa (job #2667686) | Cod sursa (job #2068964) | Cod sursa (job #785660)
Cod sursa(job #785660)
#include <iostream>
#include <vector>
#include <cstdio>
#include <set>
using namespace std;
#define MAX 1000001
bool primes[MAX];
int euler[MAX];
set<int> primeFact[MAX];
int main()
{
freopen("fractii.in","r",stdin);
freopen("fractii.out","w",stdout);
int n;
cin >> n;
for(int i=0;i<MAX;i++)
{
primes[i] = true;
euler[i] = i;
}
for(int i=2;i<MAX;i++)
{
if (primes[i])
{
for(int j=i;j<MAX;j+=i)
{
primes[j] = false;
euler[j] = euler[j] / i * (i-1);
}
}
}
int total=0;
for(int i=1;i<=n;i++)
{
total+= 2*euler[i];
}
cout << total-1<<endl;
}
// 6 = 2*3
// 1*2
//8
//1 2 4 6 8