La "prime grenouille" est un animal Ă©trange qui saute entre les entiers, jusqu'Ă ce qu'il arrive le 3 ou le 19 ...
Votre programme doit accepter un entier n
en entrée et afficher le résultat de l'algorithme ci-dessous ( 3
ou 19
).
Pour un entier donné n >= 2
:
- Soit
f
la position de la grenouille. Il est initialement réglé surn
- if
f = 3
ouf = 19
: la grenouille arrĂȘte de sauter - arrĂȘtez le programme et la sortief
. - if
f
is prime: la grenouille saute Ă la position2Ăf-1
. Retournez Ă l'Ă©tape 2. - if
f
is composite: le plus grand diviseur premier ded
bef
. La grenouille saute Ă la positionf-d
. Retournez Ă l'Ă©tape 2.
Exemples:
Un exemple avec n = 5
:
5 > 9 > 6 > 3 stop
Le programme devrait sortir 3
.
Un autre exemple avec n = 23
:
23 > 45 > 40 > 35 > 28 > 21 > 14 > 7 > 13 > 25 > 20 > 15 > 10 > 5 > 9 > 6 > 3 stop
Encore une fois, le programme devrait sortir 3
.
Cas de test:
10 => 3
74 => 19
94 => 3
417 => 3
991 => 19
9983 => 19
Vous pouvez supposer 1 < n < 1000000
(j'ai vérifié le programme se termine pour ces valeurs).
3
ou 19
, nous pourrions changer le point 2. dans l'algorithme pour dire que si la grenouille est entrĂ©e dans une boucle quelconque (elle a rencontrĂ© une position qu'elle a dĂ©jĂ vue), elle arrĂȘte le saut et renvoie le plus petit membre de cette boucle.