code utilisé: push(), break, slice(), parseInt(), pow(), charAt()
méthodes utilisées : étiquetage de boucle, arrêt d'une boucle depuis une boucle interne

Une suite cyclique à partir d'un certain rang


Un problème de périodicité :

La suite u est définie par u0=a et un+1=f(un) avec :

  1. a   un entier naturel non nul
  2. f   la fonction qui à un entier naturel associe la somme des carrés des chiffres de son écriture en base 10 .

Par exemple en choisissant a=2585, on obtient la suite : 2585, 118, 66, 72, 53, 34, 25, 29, 85, 89…

En effet 22 +52+82+52=118 et 12 +12+82=66

L'idée est de mettre en évidence que, quel que soit le premier terme a, la suite u va être cyclique à partir d'un certain rang. Pour cela on parcourt les termes de la suite de l'indice 0 à un indice J assez grand , on cherche la première répétition et on note le cycle (éventuellement d'ordre 1) sur lequel on tombe.

La machine

On va choisir le nombre J, c'est à dire le nombre d'itérations de f que l'on applique à u0.

On propose deux variantes :

  1. remplacer l'écriture décimale par une écriture en une base inférieure ou égale à 10.
  2. remplacer l'élévation au carré par l'élévation à une puissance entière;

Les paramètres sont choisis dans le tableau gris. Le premier tableau étudie une suite dont on fournit le premier terme u0 et le troisième tableau étudie simultanément N suites.

Étude d'une suite

u0=
période
liste

Réglages pour les deux tableaux

base exposant : nb d'itérations : J =

Étude globale

N= nombre de cycles
liste des éléments de cycles
propriété P(N,J)

Mode d'emploi

Étudier une suite en choisissant u0 :

Il faut :

  1. rentrer u0 ou laisser faire le hasard en cliquant sur le bouton Au hasard
  2. en cliquant sur Lancer les calculs on obtient la période qui apparaît à partir d'un certain rang, l'indice du terme à partir duquel la suite devient périodique et la liste des 100 premiers termes de la suite.

Étude globale

Au lieu de travailler sur une suite dont on étudie les termes dont l'indice va de 0 à J, on traite simultanément les suites dont le premier terme est est 1, 2,3, … N. Pour chaque suite on cherche si un cycle a été mis en évidence ou pas et on compte le nombre de cycles distincts qu'ont fait apparaître ces suites.

La propriété P(N,J) est la propriété : toutes les suites dont le premier terme est compris entre 1 et N mettent en évidence un cycle à partir d'un certain rang quand on étudie les termes d'indice inférieur ou égal à J.

Une illustration

Ce graphe permet de décrire les 100 suites dont le premier terme u0 est compris entre 1 et 100. Pour trouver le successeur d'un terme, il suffit de suivre la flèche.