Pagini recente » Cod sursa (job #2044976) | Cod sursa (job #2053826) | Cod sursa (job #131866) | Cod sursa (job #2482469) | Cod sursa (job #761350)
Cod sursa(job #761350)
#include<stdio.h>
#include<math.h>
long int prim(long int n){
int i;
for(i=2;i<=sqrt(n);i++)
if(n%i==0) return 0;
return 1;
}
long int numara(long int x,long int n)
{ int ok,k;
long int i,nr=1,a[100],j=0;
for(i=2;i<=x/2;i++)
if(x%i==0) a[++j]=i;
for(i=2;i<=n;i++){
ok=1;
for(k=1;k<=j;k++)
if(i%a[k]==0) ok=0;
if(ok) nr++;
}
return nr;
}
int main(){
long int n,s,i;
FILE *f=fopen("fractii.in","r"),*g=fopen("fractii.out","w");
fscanf(f,"%ld",&n);
if(n==1) fprintf(g,"%d",1);
else {s=n;
for(i=2;i<=n;i++)
{
if(prim(i)) s+=n-n/i;
else s+=numara(i,n);
}
}
fprintf(g,"%ld",s);
fclose(f);
fclose(g);
return 0;
}