Réponse
Il y a 149 joints.
Il faut tout d'abord voir qu'au p-ième pas les semelles de Louis sont entre
(p*61) cm et (p*61 + 21) cm.
Ses semelles couperont le n-ième joint si :
100*n = pn*61 + rn avec
0 rn < 21
On va donc dans un premier temps écrire la suite des restes rn à l'aide
du tableur.
On definit donc :
A0 par 0
A1 par =A0+1
puis, on tape sur remplir et vers le bas, lorsque A1 est en
surbrillance,
pour avoir la suite des entiers 0,1, etc...
B0 par 0
B par 1=irem(100*A1,61)
puis on tape sur remplir et vers le bas, lorsque B1 est en
surbrillance,
pour avoir la suite des restes rn.
Bien sûr il n'est pas facile de compter les restes inférieurs à 21.
On va donc définir une colonne qui fera ce comptage.
On definit donc :
C0 par 0
C1 par =ifte(B1<21,C0+1,C0)
La réponse au problème est donc la valeur de C149 et on trouve
51.
Louis marche donc 51 fois sur un joint.
On peut aussi utiliser la commande count (ou la commande
count_inf) qui compte les éléments
du tableur pour lesquels une fonction booléenne est vraie :
On tape, par exemple dans D0 :
count(x->x<21,B1:B149)
ou on tape dans D0 :
count_inf(21,B1:B149)
On prend en compte les cellules B1:B149, car il n'y a pas de joints au
début, ni à la fin.
On obtient dans D0 : 51.
On peut aussi écrire un petit programme dont voici l'algorithme :
louis nbloc 0 -> k pour n de 1 a nbloc-1 faire si (n*100 mod 61 <21) alors k+1 -> k fsi fpour afficher kqui se traduit en langage Xcas par :
louis(nbloc):={ k:=0; for (n:=1;n<nbloc:n++){ if (irem(n*100,61)<21) k:= k+1; } return k; }Puis, on tape louis(150)