Pagini recente » Cod sursa (job #1512034) | Cod sursa (job #2319512) | Cod sursa (job #433872) | Cod sursa (job #1601228) | Cod sursa (job #53632)
Cod sursa(job #53632)
#include <stdio.h>
#include <math.h>
#include <iostream>
using namespace std;
bool comp[1000001]={};
int n;
class Divizibilitate {
public:
void ciurulLuiEratostene();
int cmmdc(int, int);
bool primeIntreEle(int, int);
};
void Divizibilitate::ciurulLuiEratostene()
{
int i, j;
for (i = 4; i <= n; i+=2)
comp[i] = 1;
for (i = 3; i <= sqrt(n)+1; i+=2)
if (!comp[i])
for (j = i * 2; j <= n; j+=i)
comp[j] = 1;
}
int Divizibilitate::cmmdc(int a, int b)
{
int rest;
while (b) {
rest = a % b;
a = b;
b = rest;
}
return a;
}
bool Divizibilitate::primeIntreEle(int a, int b)
{
if (cmmdc(a, b) == 1) return true;
return false;
}
int main()
{
FILE *f1, *f2;
long long s=0;
int n, i, j;
Divizibilitate q;
f1 = fopen("fractii.in", "r");
f2 = fopen("fractii.out", "w");
fscanf(f1, "%d", &n);
s+=n;
if (n >= 2) s+=n-n/2;
if (n >= 3) s+=n-n/3;
if (n >= 4) s+=n-n/2;
if (n >= 5) s+=n-n/5;
//cout<<s;
for (i = 6; i <= n; i++)
for (j = 1; j <= n; j++)
if (q.primeIntreEle(i,j)){
s++;
cout<<i<<" "<<j<<endl;
}
fprintf(f2, "%lld", s);
fclose(f1);
fclose(f2);
return 0;
}