Pagini recente » Cod sursa (job #298729) | Cod sursa (job #1682520) | Cod sursa (job #1334735) | Cod sursa (job #2251572) | Cod sursa (job #2793261)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("fractii.in");
ofstream fout("fractii.out");
int verif_ireductibila(unsigned int i, unsigned int j, unsigned int array_Eratostene[], unsigned int len){
unsigned int k;
for(k = 0; k <= len; k++){
//cout<<"array_Eratostene[k] = "<<array_Eratostene[k]<<endl;
if(i % array_Eratostene[k] == 0 && j % array_Eratostene[k] == 0)
return 0;
}
//cout<<"i = "<<i<<", j = "<<j<<endl;
return 1;
}
int main()
{
unsigned int N, i, j, len;
unsigned long long nr = 0;
fin>>N;
unsigned int array_temp_Eratostene[N + 1], array_Eratostene[N + 1];
for(i = 0; i <= N; i++)
array_temp_Eratostene[i] = i;
array_temp_Eratostene[1] = 0;
for(i = 2; i * i <= N; i++){
if(array_temp_Eratostene[i])
for(j = i * 2; j <= N; j += i)
array_temp_Eratostene[j] = 0;
}
for(i = 0, len = 0; i <= N; i++){
if(array_temp_Eratostene[i]){
array_Eratostene[len++] = array_temp_Eratostene[i];
}
}
len--;
for(i = 1; i <= N; i++)
for(j = 1; j <= N; j++){
if(verif_ireductibila(i, j, array_Eratostene, len))
nr++;
}
fout<<nr;
}