Générateur de suite de nombres 1 / 11 / 21 / 1211 / 111221 / 312211 / etc

Contenu du snippet

Tout d'abord, commencez par essayer de comprendre comment est fabriquée cette suite de nombres (c'est un jeu tout bête) :
1
11
21
1211
111221
312211
13112221
1113213211
31131211131221
13211311123113112211
...

Si vous connaissez pas, essayez de comprendre en examinant mon petit code c++ qui génère automatiquement cette suite...

Source / Exemple :


#include <iostream>
using namespace std;

const int NB = 20; // nombre de lignes à afficher

char *suite (char *prec)
{
	char *i = prec;
	char *suiv = new char[500];
	char *j = suiv, *ret = suiv;

	for(int cpt=1; *i!='\0' ;)
	{
		for (; *i==*(i+1); i++) cpt++;
		if (*i != '\0')
		{

  • j++ = cpt+'0';
  • j++ = *i++;
cpt=1; } }
  • j='\0';
return ret; } void main() { char *dep="1"; for (int i=0; i<20; i++) { cout << dep << "\n\n"; dep = suite (dep); } cout << dep << endl; }

Conclusion :


Ce code aurait très bien pû être en C, mais je préfère le c++ ;)

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.