Pagini recente » Cod sursa (job #1373623) | Cod sursa (job #831222) | Cod sursa (job #2375213) | Cod sursa (job #3003027) | Cod sursa (job #1070101)
#include <iostream>
#include <malloc.h>
using namespace std;
int gcd(int a, int b)
{
if(!b)
return a;
return gcd(b, a%b);
}
int main()
{
int N, multipli_j, nr = 0;
int *multipli;
freopen("fractii.in", "r", stdin);
freopen("fractii.out", "w", stdout);
cin >> N;
multipli = new int[N];
for(int i = 1; i <= N; ++i)
multipli[i] = 1;
for(int i = 1; i <= N; ++i)
{
for(int j = 1; j <= N; ++j)
{
if(gcd(i, j) == 1 && multipli[j])
nr++;
else
{
multipli_j = j;
for(multipli_j = j + j; multipli_j <= N; multipli_j += j)
multipli[multipli_j] = 0;
}
}
for(int k = 1; k <= N; ++k)
multipli[k] = 1;
}
cout << nr << endl;
return 0;
}