Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Défi n°7 : Et maintenant la suite !
Venez relever les défis MATLAB.

Le , par Jerome Briot

43PARTAGES

0  0 


joint à ce message, vous trouverez un fichier suite.zip contenant une fonction MATLAB qui, comme son nom l'indique, génère une suite mathématique (assez connue).

La fonction est contenue dans un fichier p que vous pouvez l'exécuter sans risque sous MATLAB, faite moi confiance.

La fonction s'utilise comme ceci :

Code : Sélectionner tout
suite(N)
avec N le nombre d'itérations pour générer les éléments de la suite, donc un entier supérieur à 0.

Sans argument d'entrée, la fonction affiche le résultat pour 10 itérations comme ceci :
1 
11 
21 
1211 
111221 
312211 
13112221 
1113213211 
31131211131221 
13211311123113112211 
11131221133112132113212221
---------------------------------------

Saurez-vous identifier le fonctionnement de la suite et écrire un code MATLAB permettant d'obtenir et d'afficher les termes de la suite de 1 à N (comme le fait la fonction suite)

---------------------------------------

Pour permettre à tout le monde de participer, soumettez-moi vos réponses par MP en insérant votre code MATLAB entre balises [code][/code]

---------------------------------------

Je donnerai dans cette discussion la liste des membres ayant la bonne réponse.

---------------------------------------

Question subsidiaire :

Saurez-vous trouver le nom de cette suite
Envoyez-moi votre réponse à cette dernière question par MP.

---------------------------------------

Bonne participation !

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de Jerome Briot
Rédacteur/Modérateur https://www.developpez.com
Le 05/11/2012 à 11:22
Je reproche pas... je constate
1  0 
Avatar de Jerome Briot
Rédacteur/Modérateur https://www.developpez.com
Le 19/10/2012 à 14:24
Liste des membres ayant trouvé la bonne réponse



0  0 
Avatar de Jerome Briot
Rédacteur/Modérateur https://www.developpez.com
Le 05/11/2012 à 9:48
Voici la solution

-------------------------

Cette suite mathématique est la suite de Conway

Citation Envoyé par Wikipedia
La suite de Conway est une suite mathématique inventée en 1986 par le mathématicien John Horton Conway, initialement sous le nom de « suite audioactive »1. Elle est également connue sous le nom anglais de Look and Say (« regarder et dire »). Dans cette suite, un terme se détermine en annonçant les chiffres formant le terme précédent.
Source : http://fr.wikipedia.org/wiki/Suite_de_Conway

La fonction "cachée" dans le code p était celle-ci :

Code : Sélectionner tout
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
30
31
32
33
34
35
36
37
38
39
40
41
42
function suite(N)

if nargin==0
    N = 10;
end

if N<=0
    error('N doit etre un entier superieur a 0')
end

clc

s = 1;

fprintf('%d', s);
fprintf('\n');

for m = 1:N
    
    k(1) = 1;
    u(1) = s(1);
    i = 1;
    
    for n = 2:numel(s)
        
        if s(n)==s(n-1)
            k(i) = k(i)+1;
        else
            i = i+1;
            k(i) = 1;
            u(i) = s(n);
        end
        
    end
    
    s = [k;u];
    s = s(:).';
    
    fprintf('%d', s);
    fprintf('\n');
    
end
Aurélien avait donné une version plus compacte sur son blog "MATLAB pour les geeks" ici : Suite de Conway (dont ce sont largement inspirés tanguy4724 et Winjerome )

-------------------------

0  0 
Avatar de tanguy4724
Membre habitué https://www.developpez.com
Le 05/11/2012 à 11:01
tu nous repproches un plagiat ou une recherche internet fructueuse ayant mené à une inspiration soudaine?
0  0 
Avatar de tanguy4724
Membre habitué https://www.developpez.com
Le 05/11/2012 à 11:33
et moi je confesse.

un autre défi pour nous racheter?
0  0 
Avatar de magelan
Modérateur https://www.developpez.com
Le 05/11/2012 à 11:33
Je connaissais aussi le billet d'aurélien du coup, j'ai préféré ne pas participer... (en fait je n'ai pas réussi à modifier suffisamment le code d'Aurélien pour que ça passe inaperçu... apparemment vous non plus!)
0  0 
Avatar de tanguy4724
Membre habitué https://www.developpez.com
Le 05/11/2012 à 11:40
effectivement, nous non plus.

En même temps, améliorer un code c'est intéressant, mais l'inverse l'est moins

Et le code d'Aurélien me semble déjà optimisé...
0  0