La fonction donne la bonne réponse, mais c'est un coup de chance.
Une fonction doit être 'cohérente', et autonome.
Lance ton programme, avec l'instruction moitie(35000000) ;
Ca va te dire au bout de combien temps on divise le nombre de bactéries de moitié, si au début il y a 35000000 bactéries.
Normalement.
C'est à ça que sert une fonction.
Est-ce que le résultat te semble correct ?
Si on commence avec 10 bactéries, au bout d'une seconde, on aura 9 bactéries (et pas 9.8) ; au bout de 2 secondes, on aura 8 bactéries, ... et au bout de 5 secondes on aura 5 bactéries.
Donc avec 10 bactéries au départ, on tombe à la moitié au bout de 5 secondes seulement.
La formule avec des log() est valable pour des très grands nombres, mais pas pour des petits.
Partager