Inscription / Connexion Nouveau Sujet
Niveau logiciels
Partager :

suite de syracuse Python,

Posté par
marcsa
18-10-17 à 21:39

Bonsoir, l'IPT étant mon point faible, pourriez-vous m'aider pour ces questions s'il vous plaît?
1) Ecrire une fonction suite(u_0,n) qui renvoie la liste des termes de la suite de Syracuse en partant de u0=u_0 jusqu'à un.
2) Pour u0=10 et n=20, écrire les instructions permettant de représenter graphiquement les termes de la suite u0 à u20.

Pour la 1), je sais (enfin je pense!) écrire un programme affichant les termes, mais pas la liste des termes
def syracuse(n): if n == 1:
if n % 2 == 0:
syracuse (n/2) else :
syracuse (3∗n + 1)

Ensuite je n'y arrive pas

Merci d'avance

Posté par
fm_31
re : suite de syracuse Python, 19-10-17 à 10:59

Bonjour ,

ta fonction  syracuse  n'opère que si n est égal 1 . De plus , à part d'être récursive , elle ne fait pas grand chose et n'affiche rien .
Il te faut définir  ce que tu veux obtenir , puis comment tu peux y arriver .

Cordialement

Posté par
lionel52
re : suite de syracuse Python, 26-10-17 à 18:29

Je te propose la syntaxe suivante :

def syrac(u):
    if u%2 == 0 : return u//2
    else : return 3*u+1

def suite(u0,n):
    resultat = [u0]
    u = u0
    for i in range(1,n) :
        u = syrac(u)
        resultat.append(u)
    return resultat

Posté par
jarod128
re : suite de syracuse Python, 19-11-17 à 13:54

Bonjour, autre possibilité :
def  suite (u0,n):
  If n==0:
      return [u0]
  elif u0%2==0:
      return [u0]+suite(u0/2,n-1)
   else:
      return [u0]+suite(3*u0+1,n-1)

Posté par
fm_31
re : suite de syracuse Python, 25-11-17 à 11:51

Bonjour ,

pour un affichage simple de la suite (avec un peu de retard mais mieux vaut tard que jamais) :

suite de syracuse Python,

suite de syracuse Python,

suite de syracuse Python,

Répondre à ce sujet

Seuls les membres peuvent poster sur le forum !

Vous devez être connecté pour poster :

Connexion / Inscription Poster un nouveau sujet
Une question ?
Besoin d'aide ?
(Gratuit)
Un modérateur est susceptible de supprimer toute contribution qui ne serait pas en relation avec le thème de discussion abordé, la ligne éditoriale du site, ou qui serait contraire à la loi.


Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !