Pagini recente » Cod sursa (job #2331612) | Cod sursa (job #2892382) | Cod sursa (job #1491018) | Cod sursa (job #1520892) | Cod sursa (job #1666502)
#include<fstream>
#include<math.h>
using namespace std;
ifstream in("fractii.in");
ofstream out("fractii.out");
int prim(int n);
int verificare(int a,int b);
int main(){
int val;
in>>val;
if(val<0){
val*=-1;
}
in.close();
int nr_fractii=val; // 1/toate val
if(val!=1){
nr_fractii+=val-1; // restu de val -1
}
for(int i=2;i<val;i++){
for(int j=i+1;j<=val;j++){
if(j%i!=0){
if(j%2!=i%2 && verificare(i,j)==1){
nr_fractii+=2;
}
else if(prim(i) || prim(j)){
nr_fractii+=2;
}
}
}
}
out<<nr_fractii;
out.close();
return 0;
}
int prim(int n){
if(n%2==0) return 0;
for(int i=3;i<sqrt(n)+2;i+=2){
if(n%i==0) return 0;
}
return 1;
}
int verificare(int a,int b){
int i=0;
int cmmdc=b;
while(cmmdc>a){
cmmdc-=a;
}
if(cmmdc==1) return 1;
if(a%cmmdc==0 && b%cmmdc==0)return 0;
else return 1;
}