Suite 1, 2, 5
Répondre à la discussion
Affichage des résultats 1 à 20 sur 20

Suite 1, 2, 5



  1. #1
    Hervebe

    Suite 1, 2, 5


    ------

    Bonjour,
    Je cherche un algorithme pour calculer à l'aide d'un langage de programmation la suite 1, 2, 5, 10, 20, 50, 100, 200, 500, 1000, ...
    Merci d'avance

    -----

  2. #2
    Médiat

    Re : Suite 1, 2, 5

    Bonjour,



    est la partie entière de
    Je suis Charlie.
    J'affirme péremptoirement que toute affirmation péremptoire est fausse

  3. #3
    jiherve

    Re : Suite 1, 2, 5

    bonjour,
    joli!
    JR
    l'électronique c'est pas du vaudou!

  4. #4
    pm42

    Re : Suite 1, 2, 5

    Citation Envoyé par jiherve Voir le message
    joli!
    Je trouve aussi.
    En python :
    Code:
    def suite():
        n = [1, 2, 5]
        while True:
            for i in n:
                yield i
            n = [ x * 10 for x in n ]

  5. A voir en vidéo sur Futura
  6. #5
    Hervebe

    Re : Suite 1, 2, 5

    Citation Envoyé par Médiat Voir le message
    Bonjour,



    est la partie entière de
    Merci mais quelque chose m'échappe : je ne vois pas de dans la formule mais

  7. #6
    jiherve

    Re : Suite 1, 2, 5

    re
    c'est une notation générale donc on remplace x par n et hop!
    serait ce pour faire ou exploiter un appareil de mesure car la séquence 1,2,5 est assez typique de domaine ?
    JR
    l'électronique c'est pas du vaudou!

  8. #7
    Hervebe

    Re : Suite 1, 2, 5

    Je suis électronicien donc familier avec cette séquence (voltmètre, oscillo, ...).
    Je trouve quelle convient bien pour découper une étude statistique, dans le cas présent combien de messages les membres d'un forum ont-ils posté : 0, 1, 2 à 4, 5 à 9, 10 à 19, 20 à 49, ...

    Je n'ai cependant toujours pas compris, en remplaçant x par n



    est la partie entière de

    est-ce qu'en faisant n = 1, 2, 3, ... on obtient 1, 2, 5, ... ?

  9. #8
    jiherve

    Re : Suite 1, 2, 5

    re
    yes it works! c'est du Médiat !
    mais ll faut partir de zéro.
    JR
    Dernière modification par jiherve ; 13/04/2021 à 10h40.
    l'électronique c'est pas du vaudou!

  10. #9
    Hervebe

    Re : Suite 1, 2, 5

    En effet, ça fonctionne, en Excel

    ((MOD(n;3))^2+1)*10^(ENT(n/3))

  11. #10
    Opabinia

    Re : Suite 1, 2, 5

    Bonjour,

    La solution proposée est en effet astucieuse, mais elle résulte d'un réflexe mathématique (ce qui n'a évidemment rien d'anormal !).

    Comme le rapport (f) entre deux termes consécutifs alterne entre 2 et 5, on peut envisager un algorithme plus simple en employant la fonction involutive F(x) = 7 - x :

    [CODE=Pascal]
    k:= 0; Liste[0]:= 1; f:= 5;

    REPEAT
    Inc(k); f:= 7 - f; Liste;[k]:= f * Liste[k - 1]
    UNTIL (k=Max); [/CODE]

    Instructions à vérifier (je ne les ai pas compilées).
    Dernière modification par Opabinia ; 13/04/2021 à 13h48.

  12. #11
    Hervebe

    Re : Suite 1, 2, 5

    Quel langage est-ce ?
    Si je comprends bien tu obtiens seulement 2, 5, 2, 5, ... et non 1, 2, 5, 10, 20, 50, ...

  13. #12
    pm42

    Re : Suite 1, 2, 5

    Citation Envoyé par Hervebe Voir le message
    Quel langage est-ce ?
    Du Pascal incomplet.

    Citation Envoyé par Hervebe Voir le message
    Si je comprends bien tu obtiens seulement 2, 5, 2, 5, ... et non 1, 2, 5, 10, 20, 50, ...
    Cela donne 1 2 10 20 100 200 sauf erreur.

  14. #13
    Opabinia

    Re : Suite 1, 2, 5

    Exact. J'aurais dû lire plus attentivement la suite donnée plus loin.

    Il faut faire intervenir une seconde suite de période égale à 3:

    Programme source Pascal complet, où les instructions d'affichage sont assez lourdes:

    Code:
     PROGRAM Suite;
    
     USES Crt;
    
     CONST Kmax = 50; Total = 6.5;
    
     TYPE Tab_R = ARRAY[0..Kmax] OF Extended;
    
     VAR k: Byte;
         f, g, h, s: Extended;
         Liste: Tab_R;
    
     BEGIN
       TextBackGround(0); ClrScr;
       k:= 0;   Liste[0]:= 1;
       f:= 2.0; g:= 2.5; h:= 2.0;
    
       REPEAT
         Inc(k); Liste[k]:= f * Liste[k - 1];
         f:= g;  g:= h; s:= f + g; h:= Total - s;
    
         GotoXY(5, k + 2); TextColor(12); Write(k:3);
         TextColor(10);    Write(h:10:1);
         TextColor(15);    Write(Liste[k]:20:0)
       UNTIL k= Kmax;
       ReadLn
     END.
    ... mais permettent de s'assurer de la conformité des résultats:

    Nom : Tableau.png
Affichages : 107
Taille : 19,5 Ko

  15. #14
    Médiat

    Re : Suite 1, 2, 5

    Pourquoi faire simple et compact quand on peut faire compliqué et long ?
    Je suis Charlie.
    J'affirme péremptoirement que toute affirmation péremptoire est fausse

  16. #15
    Liet Kynes

    Re : Suite 1, 2, 5

    Citation Envoyé par Médiat Voir le message
    Pourquoi faire simple et compact quand on peut faire compliqué et long ?
    Bien vu, c'est une question d'économie
    Hyperinflation sequence for banknotes.
    https://oeis.org/A051109
    Sans questions il n'y a que des problèmes sans réponses.

  17. #16
    Hervebe

    Re : Suite 1, 2, 5

    ((MOD(n;3))^2+1)*10^(ENT(n/3))

  18. #17
    jacknicklaus

    Re : Suite 1, 2, 5

    En Python, en utilisant explicitement la liste L = [1,2,5] comme paramètre, qu'on pourrait remplacer par [1,2,4,8] par exemple pour obtenir 1 2 4 8 10 20 40 80 ...
    Code:
    L = [1,2,5]
    for n in range(20):
        print list(map(lambda x: x*10**(n/len(L)), L))[n%len(L)]
    There are more things in heaven and earth, Horatio, Than are dreamt of in your philosophy.

  19. #18
    pm42

    Re : Suite 1, 2, 5

    Citation Envoyé par jacknicklaus Voir le message
    En Python, en utilisant explicitement la liste L = [1,2,5]
    L'inconvénient de cette approche par rapport à celle postée plus haut, c'est qu'on génère toute la liste d'un coup et qu'on se fixe une taille limite. Dans le cas présent, ce n'est pas grave parce qu'on sait qu'on ne va pas en avoir des millions.

  20. #19
    jacknicklaus

    Re : Suite 1, 2, 5

    Citation Envoyé par pm42 Voir le message
    on génère toute la liste d'un coup et qu'on se fixe une taille limite..
    Bonjour pm42. je n'ai pas compris ta remarque. Le code proposé génère seulement une liste de même taille que le paramètre L, sauf que chacun des éléments est multiplié par la bonne puissance de 10. La boucle in range(20) c'est juste pour tester la fonction avec 20 valeurs de n...
    There are more things in heaven and earth, Horatio, Than are dreamt of in your philosophy.

  21. #20
    pm42

    Re : Suite 1, 2, 5

    Citation Envoyé par jacknicklaus Voir le message
    Le code proposé génère seulement une liste de même taille que le paramètre L
    En effet, oublie ma remarque sur ce point.

Discussions similaires

  1. Réponses: 6
    Dernier message: 09/02/2019, 20h25
  2. Suite récurrente linéaire d'ordre 2 et suite intermédiaire géométrique
    Par Seirios dans le forum Mathématiques du collège et du lycée
    Réponses: 9
    Dernier message: 14/09/2008, 13h40
  3. quelle est la manipulation a suivre pour passer la suite 1 a la suite 2
    Par inviteca097788 dans le forum Mathématiques du supérieur
    Réponses: 0
    Dernier message: 30/05/2008, 23h24
  4. egalité de suite (2 façons d'exprimer la même suite)[1ere S]
    Par invite7534a64a dans le forum Mathématiques du collège et du lycée
    Réponses: 8
    Dernier message: 21/05/2006, 09h13