Loading [MathJax]/jax/output/CommonHTML/jax.js
Back
Close

Recueil d'exercices pour apprendre Python au lycée

M_C
186.7K views

La suite Q de Hofstadter

Difficulté : Moyenne
Prérequis : Les listes

On appelle la suite Q de Hofstadter la suite suivante :
{Q1=1Q2=1Qn=QnQn1+QnQn2

Elle "ressemble" un peu dans sa définition à la suite de Fibonacci. Elle est remarquable car assez peu de choses sont démontrées sur elle bien qu'on puisse l'observer assez facilement. Le but de cette page est de la représenter graphiquement pour pouvoir observer ses variations chaotiques.

Calcul des termes

Créer un programme Q(n) qui prend en entrée un entier naturel n non nul et donne en sortie la liste de tous les termes de la suite de 1 jusqu'à n.

Calcul des termes
def Q(n):
# Ne pas toucher ce qui précède
# Les valeurs pour les variables en entrée seront automatiquement données
# Ecrire ci-dessous en n'oubliant pas d'indenter et d'utiliser return pour renvoyer un résultat
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Visualisation

Compléter le script ci dessous pour qu'il calcule les N premiers termes de la suite Q mais n' affiche que les nb_termes derniers termes (car on ne verrait pas bien en les affichant tous).

On pourra ainsi observer les variations chaotiques de cette suite. Ne pas hésiter à modifier les paramètres pour s'en convaincre.

Visualisation de Q
import matplotlib.pyplot as plt
# ---------- Les paramètres :
# On calcule les termes de Q de 1 jusqu'à N
N = 10000
# nb_termes correspond au nombre de terme qu'on veut afficher : de N-nb_termes+1 à N
nb_termes = 100
# Copier coller la fonction Q ci dessous
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Create your playground on Tech.io
This playground was created on Tech.io, our hands-on, knowledge-sharing platform for developers.
Go to tech.io
codingame x discord
Join the CodinGame community on Discord to chat about puzzle contributions, challenges, streams, blog articles - all that good stuff!
JOIN US ON DISCORD
Online Participants