Cod sursa(job #1321257)
Utilizator | Data | 18 ianuarie 2015 22:05:57 | |
---|---|---|---|
Problema | Fractii | Scor | 10 |
Compilator | c | Status | done |
Runda | Arhiva de probleme | Marime | 0.74 kb |
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
int n,i,j,nr,ciur[1000001];
int prime_intre_ele(int a, int b)
{
while(a!=b)
{
if(a>b)
a=a-b;
else
b=b-a;
}
return a;
}
int main()
{
freopen("fractii.in", "r", stdin);
freopen("fractii.out", "w", stdout);
scanf("%d",&n);
nr=2*n-1;
for(i=2;i<=(n/2);i++)
for(j=2;(j*i)<=n;j++)
ciur[j*i]=1;
for(i=2;i<=n;i++)
{
if(ciur[i]==0)
nr+=(n-1)-(n/i);
else
{
for(j=2;j<=n;j++)
if(prime_intre_ele(i,j)==1)
nr++;
}
}
printf("%d",nr);
return 0;
}