| La suite de Conway | |
|
|
Auteur | Message |
---|
papydall
Nombre de messages : 6996 Age : 73 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: La suite de Conway Ven 30 Sep 2016 - 18:47 | |
| Regardez cette suite : 1 11 21 1211 111221 312211 ????????
Pouvez-vous dire le terme indiqué par les points d’interrogation ?
Il s’agit de la suite de Conway connue sous le nom « Look and Say » c’est-à-dire « Regarder et dire ». Dans cette suite, on détermine un terme en annonçant les chiffres composant le terme qui le précède, c’est-à-dire en indiquant combien de fois chacun de ses chiffres se répète. Le premier terme vaut 1 Voici comment on procède : U1 = 1 : Ce terme comporte simplement un "1", donc le terme suivant est : U2 = 11 : Celui-ci est composé de deux "1"; donc le terme suivant est : U3 = 21 : Ce terme comporte un "2" et un "1", le terme suivant est donc : U4 = 1211 En poursuivant ce procédé, on a : U5 = 111221 U6 = 312211 U7 = 13112221 U8 = 1113213211 U9 = 31131211131221 U10 = 13211311123113112211 U11 = 11131221133112132113212221 U12 = 3113112221232112111312211312113211 U13 = 1321132132111213122112311311222113111221131221 U14 = 11131221131211131231121113112221121321132132211331222113112211 U15 = 311311222113111231131112132112311321322112111312211312111322212311322113212221 etc.
La question : Comment doit-on s’y prendre pour coder une SUB en panoramic qui affichera le N premiers termes de cette suite ? Il ne s’agit nullement d’un concours ni d’un défi. C’est simplement une proposition d’un bon exercice de programmation pour celui qui veut réfléchir. Essayez, c'est bon pour les neurones !
Je posterai mon code dans la soirée.
A+ | |
|
| |
Minibug
Nombre de messages : 4566 Age : 57 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: La suite de Conway Ven 30 Sep 2016 - 19:05 | |
| Heuuuu... Vous pouvez répéter la question ? Désolé, mais j'ai du mal à comprendre... Bon ! après un peu de réflexion je commence en fait à comprendre.... Ce que je ne comprends pas en revanche, c'est pourquoi ce casser la tête à dire que l'on regarde le chiffre... Et en plus chercher à le programmer ! Alors là c'est trop pour moi... Là tu m'a perdu Papydall...
Dernière édition par Minibug le Ven 30 Sep 2016 - 19:09, édité 1 fois | |
|
| |
Minibug
Nombre de messages : 4566 Age : 57 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: La suite de Conway Ven 30 Sep 2016 - 19:08 | |
| | |
|
| |
papydall
Nombre de messages : 6996 Age : 73 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: La suite de Conway Ven 30 Sep 2016 - 19:48 | |
| J’explique comment sont composés les termes de cette suite. Par exemple : Le terme U5 = 111221 Pour déterminer le terme U6, on procède comme ceci : On regarde U5, on lit ce terme en regroupant les chiffres identiques qui se suivent. Ça donne : "3 fois le chiffre 1 puis 2 fois le chiffre 2 et enfin 1 fois le chiffre 1" On extrait les nombres : 312211 < --- c’est le terme U6 Pour des plus amples explications cliquez ici | |
|
| |
Yannick
Nombre de messages : 8610 Age : 52 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Ven 30 Sep 2016 - 20:11 | |
| Là, mais alors là ! ce sera sans moi... je vais tenir l' entonoir sur la tête à minibug. | |
|
| |
silverman
Nombre de messages : 968 Age : 51 Localisation : Picardie Date d'inscription : 18/03/2015
| Sujet: Re: La suite de Conway Ven 30 Sep 2016 - 23:20 | |
| De la manipulation de chaîne! Mon truc préféré - ma réponse:
- Code:
-
conway(7)
END
sub conway(n%) dim_local cn$ dim_local k%,i%,l$ dim_local cpt% dim_local n$
cn$="1" :' chaîne originale print "U1 = ",cn$
if n%>1 for k%=2 to n% :' n% = désigne les termes de la suite i%=1 :' initialisation : i% = position d'un caractère dans la chaîne originale repeat :' l$=mid$(cn$,i%,1) :' scanne un caractère de la chaîne cpt%=0 while mid$(cn$,i%,1)=l$ :' tant que le cararactère suivant est identique i%=i%+1 :' passe au suivant cpt%=cpt%+1 :' et compte les caractères identiques end_while n$=n$+str$(cpt%)+l$ :' construit une chaîne temporaire until i%>len(cn$) :' recommence tant qu'on n'a pas scanné entièrement la chaîne originale cn$=n$ :' chaîne originale = chaîne temporaire : nouvelle chaîne obtenu n$="" print "U"+str$(k%)+" = "+cn$ :' on l'affiche next k% :' terme suivaint end_if
end_sub
| |
|
| |
papydall
Nombre de messages : 6996 Age : 73 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: La suite de Conway Ven 30 Sep 2016 - 23:23 | |
| - ygeronimi a écrit:
- je vais tenir l' entonoir sur la tête à minibug.
Tu peux mieux faire : un système de vases communicants entre la tête de Minibug et la tienne ! Bon, ce n'est pas si difficile que ça. Je vous ai promis un code, le voici : - Code:
-
rem ============================================================================ rem La suite de Conway rem Par Papydall rem ============================================================================ ' La suite de Conway est une suite mathématique inventée par John Horton Conway. ' Cette suite porte le nom de "suite audioactive". ' Aussi, elle est connue sous le nom "Look and Say", c-à-d "Regarder et dire". ' Dans cette suite, on détermine un terme en annonçant les chiffres composant ' le terme qui le précède, c-à-d en indiquant combien de fois chacun de ses ' chiffres se répète. ' Le 1er terme de la suite est égal à 1. rem ============================================================================ ' Voici comment on procède : ' U1 = 1 : Ce terme comporte simplement un "1", donc le terme suivant est : ' U2 = 11 : Celui-ci est composé de deux "1"; donc le terme suivant est : ' U3 = 21 : Ce terme comporte un "2" et un "1", le terme suivant est donc : ' U4 = 1211 ' En poursuivant ce procédé, on a : ' U5 = 111221 ' U6 = 312211 ' U7 = 13112221 ' U8 = 1113213211 ' U9 = 31131211131221 ' U10 = 13211311123113112211 ' U11 = 11131221133112132113212221 ' U12 = 3113112221232112111312211312113211 ' U13 = 1321132132111213122112311311222113111221131221 ' U14 = 11131221131211131231121113112221121321132132211331222113112211 ' U15 = 311311222113111231131112132112311321322112111312211312111322212311322113212221 ' etc. rem ============================================================================ ' Propriétes de la suite de Conway : ' ================================= ' Aucun terme de la suite ne comporte un chiffre supérieur à 3. ' Tous les termes de la suite possèdent un nombre pair de chiffres, sauf le terme initial. ' Les termes de rang impair se terminent par 21 et les termes de rang pair par 11 (là encore à l'exception du terme initial). rem ============================================================================ width 0,1000 : height 0,600 : font_bold 0 : font_size 0,14
caption 0,"Suite de Conway (Look and Say sequence)" Conway(15) end rem ============================================================================ ' Afficher les n premiers termes de la suite de Conway SUB Conway(n) dim_local c1$,c2$,x$,i,j,occ,ok,u$ x$ = "1" j = 1 print "Voici les " + str$(n) + " premiers termes de la suite de Conway (Look and Say) sequence" print : print : print "U" + str$(j) + " = " + x$ : print repeat i = 1 repeat occ = 1 : ok = 1 repeat c1$ = mid$(x$,i,1) : c2$ = mid$(x$,i+1,1) if c1$ = c2$ occ = occ + 1 i = i + 1 else ok = 0 end_if until (ok = 0) or (i > len(x$)) u$ = u$ + str$(occ) + c1$ i = i + 1 until i > len(x$) j = j + 1 print "U" + str$(j) + " = " + u$ : print x$ = u$ : u$ = "" until j = n END_SUB rem ============================================================================
EDIT : on s'est croisé,Silverman. Bravo pour le code. Après avoir jeté un œil sur ton code, je vois que nous avons presque la même approche pour résoudre le problème. | |
|
| |
Minibug
Nombre de messages : 4566 Age : 57 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: La suite de Conway Sam 1 Oct 2016 - 9:13 | |
| | |
|
| |
papydall
Nombre de messages : 6996 Age : 73 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: La suite de Conway Sam 1 Oct 2016 - 12:22 | |
| Comme écrivait Silverman : ce n’est que « de la manipulation de chaîne ». C’est le truc préféré de « l’homme d’argent » C'est aussi un bon exercice de réflexion. | |
|
| |
silverman
Nombre de messages : 968 Age : 51 Localisation : Picardie Date d'inscription : 18/03/2015
| Sujet: Re: La suite de Conway Sam 1 Oct 2016 - 14:06 | |
| - papydall a écrit:
- Après avoir jeté un œil sur ton code, je vois que nous avons presque la même approche pour résoudre le problème
Je me suis fait exactement la même réflexion - papydall a écrit:
- C'est aussi un bon exercice de réflexion
Où dois je me mirer? | |
|
| |
papydall
Nombre de messages : 6996 Age : 73 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: La suite de Conway Sam 1 Oct 2016 - 18:46 | |
| - Citation :
- Où dois je me mirer?
Sur la surface lisse de ton écran, juste sous le terme 20 de la suite de Conway. | |
|
| |
Contenu sponsorisé
| Sujet: Re: La suite de Conway | |
| |
|
| |
| La suite de Conway | |
|