© Éditions Eyrolles
249
Correction des exercices
Exercice 6.3
#include
void compte(void)
{
static long n=0 ;
static long limit=1 ;
n++ ;
if (n>=limit)
{ printf ("** appel %ld fois **\n", limit) ;
limit *= 10 ;
}
}
main()
{
void compte(void) ;
long nmax=100000 ;
long i ;
for (i=1 ; i<=nmax ; i++) compte() ;
}
Exercice 6.4
#include
int acker (int m, int n)
{ if ( (m<0) || (n<0) )
return(0) ;
else if (m==0)
return (n+1) ;
else if (n==0)
return ( acker(m-1,1) ) ;
else
return acker ( m-1, acker(m,n-1) ) ;
}
main()
{ int acker (int, int) ;
int m, n ;
printf ("donnez m et n : ") ;
scanf ("%d %d", &m, &n) ;
printf ("acker ( %d,%d) = %d", m, n, acker(m,n) ) ;
}
Delannoy Livre.book Page 249 Mercredi, 6. mai 2009 4:27 16
249
Correction des exercices
Exercice 6.3
#include
void compte(void)
{
static long n=0 ;
static long limit=1 ;
n++ ;
if (n>=limit)
{ printf ("** appel %ld fois **\n", limit) ;
limit *= 10 ;
}
}
main()
{
void compte(void) ;
long nmax=100000 ;
long i ;
for (i=1 ; i<=nmax ; i++) compte() ;
}
Exercice 6.4
#include
int acker (int m, int n)
{ if ( (m<0) || (n<0) )
return(0) ;
else if (m==0)
return (n+1) ;
else if (n==0)
return ( acker(m-1,1) ) ;
else
return acker ( m-1, acker(m,n-1) ) ;
}
main()
{ int acker (int, int) ;
int m, n ;
printf ("donnez m et n : ") ;
scanf ("%d %d", &m, &n) ;
printf ("acker ( %d,%d) = %d", m, n, acker(m,n) ) ;
}
Delannoy Livre.book Page 249 Mercredi, 6. mai 2009 4:27 16
