Pagini recente » Cod sursa (job #822159) | Cod sursa (job #2859194) | Cod sursa (job #190491) | Cod sursa (job #1978399) | Cod sursa (job #2081194)
#include <cstdio>
using namespace std;
int main()
{
freopen("fractii.in","r",stdin);
freopen("fractii.out","w",stdout);
int i, j, n, v[1000005];
long long cnt=1;
scanf("%d", &n);
for(i=1 ; i<=n ; i++)//Presupunem ca toate numerele sunt prime ; Fiecare nr prim P are P-1 numere cu care este prim inaintea lui
v[i]=i-1;
for(i=2 ; i<=n ; i++)
for(j=i*2 ; j<=n ; j+=i)//Prin ciurul lui Eratostene scadem nr de numere cu care nu sunt prime
v[j]=v[j]-v[i];
for(i=1 ; i<=n ; i++)//Crestem contorul cu nr de numere prime cu numarul i * 2, pentru ca fiecare fractie ireversibila apare sub forma a/b si b/a
cnt+=v[i]*2;
printf("%lld", cnt);
return 0;
}