Cod sursa(job #17355)

Utilizator axl_gnrMarius Gheorghe axl_gnr Data 15 februarie 2007 19:06:00
Problema Fractii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include<stdio.h>

FILE *f;
long n,s;

long div(long nr)
{ long v[100];
  int p=0,d=2;

  long i,si=0;
  int j,sem;

  while(nr!=1)
       {if(nr%d==0)
	  {p++;
	   v[p]=d;
	  }
	while(nr%d==0)
	     nr/=d;

	d++;
       }

  if(v[1]==2)
    for(i=1;i<=n;i=i+2)
       {sem=1;
	for(j=1;j<=p && sem;j++)
	   if(i%v[j]==0)
	     sem=0;
	if(sem)
	  si++;
       }
  else
    for(i=1;i<=n;i++)
       {sem=1;
	for(j=1;j<=p;j++)
	   if(i%v[j]==0)
	     sem=0;
	if(sem)
	  si++;
       }

  return si;
}

void main()
{ f=fopen("fractii.in","r");
  fscanf(f,"%ld",&n);
  fclose(f);

  s=n;
  long i;

  for(i=2;i<=n;i++)
     s=s+div(i);

  f=fopen("fractii.out","w");
  fprintf(f,"%ld",s);
  fclose(f);
}