#include<iostream.h>
#include<stdlib.h>

int main()
{  
  int NMAX,*mu,p;
  
  cout << "Jusqu'ou voulez vous cribler : donner N = " ;
  cin >> NMAX;
  mu = new int[NMAX+1];
  
  for (int i = 1 ; i <= NMAX ; mu[i] = i++);
 
  p = 2;
  while (p <= NMAX/p) {
    mu[p] = -1 ;
    for (int k = 2*p ; k <= NMAX ; k += p) mu[k] /= -p;
    int p2 = p*p;
    for (int k = p*p ; k <= NMAX ; k += p2) mu[k] = 0;
    do {
     p++ ;
    }
    while (abs(mu[p]) != p);
  }


  while (p <= NMAX) 
    {
      if (abs(mu[p]) > 1) mu[p] /= -abs(mu[p]);
      p++;
    }

  double s = 0;
  for (int i = 1 ; i <= NMAX ; i++)
    {
      cout.width(8);
      cout << mu[i];
      s += double(mu[i])/i;
    }
  cout << "\n\n Somme des mu(n)/n = " << s << "\n";
}

