Cod sursa(job #57830)

Utilizator vladbBogolin Vlad vladb Data 3 mai 2007 09:34:40
Problema Fractii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include<fstream.h>
#include<math.h>

long long int n,i,j,k,a[8000],b[7000],d,c,e,f,z;

int prim(int);

int main()
{  ifstream fin("fractii.in");
   ofstream fout("fractii.out");
   fin>>n;
   e=0;
   d=0;
   for(i=1;i<=n;i++)
	  if(prim(i)) a[++e]=i;
   for(i=2;i<=n;i++)
	  for(j=2;j<=e;j++)
	   {      f=0;
			  if(i%a[j]==0&&sqrt(i)!=(int)sqrt(i))  f=i/a[j];
			  if(prim(f)) z++;
       }
   for(i=1;i<=e;i++)
	  b[++d]=n/a[i];
   for(i=1;i<=d;i++)
	  c+=pow(b[i],2);
   fout<<pow(n,2)-c+z;
   fin.close();
   fout.close();
   return 0;
}

int prim(int a)
{  if(a==1) return 0;
   if(a==2||a==3) return 1;
   if(a%2==0) return 0;
   for(k=3;k*k<=a;k+=2)
		if(a%k==0) return 0;
   return 1;
}