ChronoMath, une chronologie des MATHÉMATIQUES
à l'usage des professeurs de mathématiques, des étudiants et des élèves des lycées & collèges
 

Combien de 3 ?          » calcul intello "à la main"

Si on écrit les entiers de 1 à 365, combien écrit-on de fois le chiffre 3 ?

Un petit exo de type casse-tête que l'ordinateur résout bien plus vite que le raisonnement intellectuelo-mathématique... On utilise ici la capacité d'un langage informatique à manipuler les chaînes de caractères. Mais pour les purs matheux, une solution plus cartésienne est ensuite donnée !

»  traitement des chaînes de caractères
 

Programme JavaScript :

<SCRIPT LANGUAGE=JavaScript>
function calcule()
{
s=0
nb=365;
nb=eval(prompt("Entrez un nombre :",nb))
for(i=1;i<=nb;i++)
  {
  a$=i.toString()
  for(j=0;j<a$.length;j++)
  {
   if (a$.charAt(j)=="3") {s++}
  }
}
alert("le nombre de 3 est : "+s)
}
</SCRIPT>

     Code HTML du formulaire permettant de lancer les calculs à la demande :


<CENTER>
<HR>
<INPUT TYPE=button NAME=Bouton VALUE="Lancer les calculs" onclick="calcule()">
<HR>
</CENTER>



L'ordinateur trouve 143 "trois"
Pour les récalcitrants aux méthodes informatiques et qui n'ont pas foncièrement tort... :

On est en présence d'un petit problème statistique. Décomposons-le en classes de nombres. La seconde ligne du tableau ci-dessous indique les effectifs de chaque classe (ouverte à droite) :

[1,10[
[10,30[
[30,40[
[40,100[
[100,300[
[300,365]
1
2
10 + 1
6
20 + 20
83
 

Justifications :
 

[1 ,30[ : 3 cas     [30,40[ : 11 cas    [40 ,60[ : 2 cas   et  [60,65[ : 1 cas
Nous obtenons au total : 1 + 2 + 11 + 6 + 40 + 83 = 143 cas.

   Certains penseront ou diront peut-être que cette méthode est encore peu satisfaisante eu égard aux méthodes d'investigation combinatoire du type : si le nombre est de 3 chiffres, classe [100,300[, il peut contenir :

  • un seul 3 : dans ses unités : 2 x (9 x 1); dans ses dizaines : 2 x (1 x 9)

  • deux 3 : donc un 3 en unité et en dizaine : 2 x (1 x 1) , soit 4 trois

soit au total : 40 trois dans la classe [100,300[. Reste à étudier les autres classes, comme la classe [300,365[ où la logique combinatoire est plus difficile à mettre en œuvre...


© Serge Mehl - www.chronomath.com