qui me propose un algo pour générer la suite suivante:
233233323332332333233323332332333233323332332...![]()
![]()
qui me propose un algo pour générer la suite suivante:
233233323332332333233323332332333233323332332...![]()
![]()
Allons-y
Voilà
Code : Sélectionner tout - Visualiser dans une fenêtre à part écrire("233233323332332333233323332332333233323332332...")![]()
Bonjour,
peux tu donner quelques nombres de plus....
![]()
Consignes aux jeunes padawans : une image vaut 1000 mots !
- Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
- Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
-ton poste tu dois marquer quand la bonne réponse tu as obtenu.
Est-ce que c'est le même algorithme que pour écrire:
?344344434443443444344434443443444344434443443...
Effectivement, il nous faudrait quelques chiffres de plus pour repérer le motif...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Séquence : 2 33 2 333 2 333 2 33 2 333 2 333 2 333 2 33 2 333 2 333 2 333 2 33 2 ... Répétition des 3 : 2 3 3 2 3 3 3 2 3 3 3 2
j'ai compris, c'est une suite auto-référente:Envoyé par zooro
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Suite = "233" i = 1 Pour tous les indices i faire: si Suite[i] est égal à deux ajouter "233" à la suite sinon ajouter "2333" à la suite fin pour
Non !Envoyé par 10_GOTO_10
très certainement.Envoyé par 10_GOTO_10
Consignes aux jeunes padawans : une image vaut 1000 mots !
- Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
- Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
-ton poste tu dois marquer quand la bonne réponse tu as obtenu.
Alors ça veut dire que sans comprendre, j'ai réussi à retrouver l'algorithme! balèze !Envoyé par ToTo13
exemple d'implémentation en c:
qui donne la suite déja connue. Vous voulez plus de chiffres ? Il suffit d'augmenter le 12 dans la boucle for. Pour i jusqu'à 20:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 char suite[1000]; int i; strcpy(suite, "2"); for (i = 0; i < 12; i++) { if (suite[i] == '2') strcat(suite, "332"); else strcat(suite, "3332"); }
jusqu'à 50:233233323332332333233323332332333233323332332333233323323332333233323323332
2332333233323323332333233323323332333233323323332333233233323332333233233323332333233233323332333233233323332332333233323332332333233323332332333233323332332333233323323332333233323323332
Ce n'est pas exactement l'implémentation de l'algo que tu as cité avantEnvoyé par 10_GOTO_10
(qui me semble faux si les indices commencent à 1 comme d'habitude en algo) mais bien vu, ça me convainc personnellement
![]()
Effectivement, ce n'est pas tout à fait l'algo, parce que je voulais retrouver très exactement la suite donnée en exemple, et que cette suite finit par un 2. Donc au lieu de commencer à 1 et de rajouter "233" (ou "2333"), j'ai commencé à 0 en rajoutant "332" ou "3332". Mais c'est juste un décalage, les deux algos sont justes.
Je suis d'accord avec toi si la chaîne est indexée à partir de 0. Néanmoins, ce n'est pas l'usage (du moins je crois) en algorithmique (mais une fois que s'est précisé, ok).
10 GOTO 10:tu as trouvé l'autoréférence de cette suite de SLoane!
Z'etes bon les gars![]()
je ne vous ferais pas l'affront de vous donner celle-là, super-connue:
1 11 21 1211 111221 312211 13112221 ...
1113213211 31131211131221 ...Envoyé par Nemerle
Non effectivement, c'est trop connue, c'est dommage.
Par contre, écrire le code d'une telle suite peut être plus ou moins drôle en focntion du langage que l'on souhaite utiliser (parsing de chaines de caractères ayant des longueurs variables, ...)
Un petit code en Prolog
10 est le nombre de tours de boucle.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 affiche([],L,L):- write(' '). affiche([[X,N1] | T],L1, L2) :- write(N1), write(X), append(L1, [N1,X], L3), affiche(T,L3,L2). suite(0,_,_) :- nl,writeln('termine'). suite(N, [], L1) :- reverse(L1,L2), affiche(L2, [],L), N1 is N-1, suite(N1, L, []). suite(N, [X|T], [[X,N1] | T1]):- N2 is N1+1, !, suite(N, T, [[X,N2]| T1]). suite(N, [X|T], L):- suite(N, T, [[X,1] | L]). test :- write('1 '), suite(10, [1], []).
"La haine seule fait des choix" - Koan Zen
"Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
"Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
Faites du Prolog, ça vous changera les idées !
Ma page Prolog
Mes codes sources commentés
Mon avatar : La Madeleine à la veilleuse de Georges de La Tour
Partager