Cod sursa(job #125567)

Utilizator cos_min_max_ionCosmin Ion cos_min_max_ion Data 20 ianuarie 2008 14:50:25
Problema Fractii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include<stdlib.h>
#include<stdio.h>
int main()
{  long p, n, c=0,k,d;
    int ok;
  freopen("fractii.in", "rt", stdin);
  freopen("fractii.out", "wt", stdout);
  scanf("%ld",&n);
  if(2<=n/2)  c+=(n/2-1)*(n/2);
  if(3<=n/2)  c+=(n/3-1)*(n/3);
  for(k=1;(p=6*k+1)<=n/2;k++)
    {for(ok=1,d=3;d*d<=p&&ok;d+=2)
       if(p%d==0) ok=1;
      if (ok) c+=(n/p-1)*(n/p);
    }
  for(k=0;(p=6*k+5)<=n/2;k++)
    {for(ok=1,d=3;d*d<=p&&ok;d+=2)
       if(p%d==0) ok=1;
      if (ok) c+=(n/p-1)*(n/p);
    }

  if(n==1) //cout<<1<<endl;
    printf("1\n");
  else printf("%ld",n*n-c-(n-1));
  return 0;
}