ÉCS2 Algorithme de Kaprekar T.D.no1
7. S’assurer que la fonction Kaprekar fonctionne lorsque xvaut 0.
8. Écrire une fonction d’en-tête
function l=liste(x,n)
calculant la liste des npremiers termes de la suite de Kaprekar
x, K(x),K(K(x)), . . .
9. À l’aide de la fonction find, écrire une fonction cycle(x) qui calcule
la liste des termes de la suite de Kaprekar d’origine xjusqu’à ce qu’on
tombe sur un terme déjà rencontré. On fera apparaître ce terme à la
fin de la liste afin voir quel est le terme répété. Concrètement, on doit
obtenir les exécutions suivantes :
-->cycle(111)
ans =
111. 0. 0.
-->cycle(410)
ans =
410. 396. 594. 495. 495.
10. Pour quelle raison est-on sûr, même si la conjecture n’est pas encore
validée, de retomber sur un nombre déjà rencontré ?
Autrement dit, la suite devient nécessairement cyclique ...
11. Écrire une fonction chute(x) calculant la valeur finale de la liste générée
par cycle(x).
2.3 Validation de la conjecture pour trois chiffres
12. Quelle liste ygénère le script suivant :
r=10^t
y=zeros(1,r);
for k=0:r-1
y(k+1)=chute(k);
disp([k y(k+1)])
end
13. Compléter l’instruction plot2d(....,y,0) pour faire apparaître les
points (n, chute(n)) pour n∈[[0 ; 999]] sur un graphique.
14. Essayer plot2d(....,y,-1). Ce graphique valide-t-il la conjecture ?
15. Utiliser la liste yet la fonction find pour déterminer exactement tous
les entiers dont la chute est 0.
16. Préciser alors la conjecture.
2.4 Exploration du cas “quatre chiffres”
17. En remplaçant t=3 par t=4, explorer le cas « quatre chiffres », émettre
une conjecture analogue et la valider.
2.5 Exploration du cas “cinq chiffres”
18. Avec t=5, que donne cycle(12345) ?
19. Les suites Kaprekar à 5chiffres sont-elles toutes stationnaires ?
20. Les suites Kaprekar à 5chiffres sont-elles toutes cycliques à partir d’un
certain rang ?
2.6 Et avec juste “deux chiffres” ?
21. À vous de voir, et d’expliquer, voire de démontrer !
3 Pour information
Chiffres Cycles possibles Descriptions
2 2 (0)
(9 81 63 27 45)
3 2 (0)
(495)
4 2 (0)
(6174)
5 4 (0)
(53955 59994)
(61974 82962 75933 63954)
(62964 71973 83952 74943)
Lycée Henri Poincaré 2/2 lo