Pagini recente » Cod sursa (job #2054612) | Cod sursa (job #989549) | Cod sursa (job #1776123) | Cod sursa (job #992272) | Cod sursa (job #2657981)
#include <fstream>
using namespace std;
ifstream f ("fractii.in");
ofstream g ("fractii.out");
int n;
struct ura {
int primes , fr;
} ciur [(int)1e6 + 1];
int main()
{
f >> n;
for(int i = 1 ; i <= n ; ++ i)
ciur [i] . fr = n;
for(int i = 2 ; i <= n ; ++ i){
if (ciur [i] . primes == 0){
for (int j = i ; j <= n ; j += i){
ciur [j] . fr -= n / i , ++ ciur [j] . primes;
if (j % (i * i) == 0)
ciur [j] . primes += 2;
}
}
if (ciur [i] . primes == 2){
for(int j = i ; j <= n ; j += i)
ciur [j] . fr += n / i;
}
}
long long ans = 0;
for(int i = 1 ; i <= n ; ++ i)
ans = ans + 1LL * ciur [i] . fr;
g << ans;
return 0;
}