Pagini recente » Cod sursa (job #1806731) | Cod sursa (job #1307700) | Cod sursa (job #1336118) | Cod sursa (job #2603849) | Cod sursa (job #23406)
Cod sursa(job #23406)
#include<stdio.h>
#include<math.h>
#define MAXSIZE 10000001
int n;
int citire()
{
FILE *f=fopen("fractii.in","r");
fscanf(f,"%d",&n);
fclose(f);
return 1;
}
int p[MAXSIZE];
int numar(int q) {
int i, j, nr = 0,t=1;
for(i=2;i<=n;i++) p[i]=0;
if(q%2==0) {t=2;for(j=2; j<=n; j+=2) p[j]=1; }
for(i=2+t-1; i<=n; i+=t)
{
if(p[i]==0)
{
if(q%i==0||i%q==0)
for(j=i; j<=n; j+=i) p[j]=1;
else if(q<i) nr+=2;
}
}
return nr;
}
int main(void)
{
int i,nr=0;
FILE *f;
citire();
nr=2*n-1;
for(i=2;i<=n;i++) nr+=numar(i);
f=fopen("fractii.out","w");
fprintf(f,"%d\n",nr);
fclose(f);
return 0;
}