J'ai un exercice d'algorithme pour un devoir maison, et je n'y arrive pas du tout ! Pouvez vous m'aider ?
Voici l'énoncé :
On considere l'algorithme suivant:
Mettre le compteur N a zéro.
Saisir un nombre entier naturel A> ou = 3
Tant que(Le nombre A est strictement plus grand que 0 faire:
Si A est un nombre premier alors:
A+3 -> A
Sinon:
A-4 -> A
Fin du "Si"
N+1 -> N
Fin du "tant que"
Afficher la valeur de N
1) Tester(a la main) cet algorithme avec les nombres 3,4,5,6 et7
2) Justifier pourquoi apres 2 itérations de la boucle la valeur de A a diminué au moins d'une unité.
3) Peut on obtenir la valeur 1 avec cet algorithme ?
4)Qu'affiche en sortie cet algorithme ?
J'ai réussi a la question 1, mais le reste, je ne comprend pas :s
Salut !
J'appelle Ai la valeur de A à l'itération i.
Pour la 2) :
+ Si A(=A0) n'est pas premier, alors à l'itération suivante A vaut A1=A0-4, et quelle que soit la valeur A1, on a A2=A1+3 ou A1-4, soit A0-1 ou A0-8, donc dans ce cas on a bien diminué d'au mains une unité.
+ Si A0 est premier, alors A1=A0+3. Or Si A0 est premier, vu que A0>=3, alors A0 est impair ! Donc A0+3 est pair, et n'est donc pas premier, donc A2=A1-4=A0-1. D'où le résultat.
Pour la 3) essaye de faire la démarche à l'envers et de voir où ça coince : suppose que An=1. Combien vaut An-1 ? Est-ce possible ? (tu trouveras que tu ne peux pas avoir 1)
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :