Pagini recente » Cod sursa (job #984759) | Cod sursa (job #2332003) | Cod sursa (job #476927) | Cod sursa (job #2987866) | Cod sursa (job #1345)
Cod sursa(job #1345)
#include<stdio.h>
int ggt(long m, long n){
if(m%2==0&&n%2==0)
return 2;
if(n>m){
long aux=m;
m=n;
n=aux;
}
long r;
while(m%n!=0){
r=m%n;
m=n;
n=r;
}
if(n==1) return 1;
return 2;
}
int prim(long n){
long r, i;
for(i=3;i<n/2;i=i+2){
if(n%i==0)
return 0;
}
return 1;
}
int main()
{
FILE *in,*out;
long n,p,q,i=0;
in=fopen("fractii.in","rt");
out=fopen("fractii.out","w+");
fscanf(in,"%ld",&n);
i=2*n-1;
for(p=2;p<=n;p++){
if(p%2==1){
if(prim(n))
i=i+p-1;
else{
for(q=2;q<=n;q++){
if(ggt(p,q)==1)
i=i+1;
}
}
}
else{
for(q=3;q<=n;q=q+2){
if(ggt(p,q)==1)
i=i+1;
}
}
}
fprintf(out,"%ld",i);
}