Algorithme

Réponses à toutes vos questions de la 2nde à la Terminale toutes séries
Nadiaidan
Membre Naturel
Messages: 20
Enregistré le: 21 Sep 2014, 13:40

Algorithme

par Nadiaidan » 21 Sep 2014, 13:51

Bonjour tout le monde!
Je suis de nature assez curieuse en ce qui concerne les mathématiques, il y a quelques jours, j'ai découvert un exercice de "suite" permettant de trouver le nombre de façon différentes pour monter un escalier de n marche(s). J'ai trouvé cet exercice très interressant et amusant, mais n'est il pas possible de programmer un algorithme sous algobox par exemple, pour trouver les réponses beaucoup plus facilement et rapidement. Je ne suis pas très douée en algorithme, quelqu'un pourrait il m'aider pour le créer?
Merci beaucoup :)



mathelot

par mathelot » 21 Sep 2014, 16:50

bonjour,

si on les monte "b" par "b",ie, (quatre par quatre , b=4)

n=bq+r

on ajoute 1, on regarde si on conserve la division euclidienne

Avatar de l’utilisateur
chan79
Membre Légendaire
Messages: 10330
Enregistré le: 04 Mar 2007, 19:39

par chan79 » 21 Sep 2014, 17:03

[quote="Nadiaidan"]
Salut
Tu peux regarder ça; c'est pour le cas où on peut monter de 1, 2 ou 3 marches à chaque fois.
Par exemple, avec 6 marches: 24 façons.

Image

Avatar de l’utilisateur
chan79
Membre Légendaire
Messages: 10330
Enregistré le: 04 Mar 2007, 19:39

par chan79 » 22 Sep 2014, 15:43

chan79 a écrit:
Nadiaidan a écrit:Salut
Tu peux regarder ça; c'est pour le cas où on peut monter de 1, 2 ou 3 marches à chaque fois.
Par exemple, avec 6 marches: 24 façons.

Image

Avatar de l’utilisateur
chan79
Membre Légendaire
Messages: 10330
Enregistré le: 04 Mar 2007, 19:39

par chan79 » 22 Sep 2014, 15:44

Nadiaidan a écrit:Bonjour tout le monde!
Je suis de nature assez curieuse en ce qui concerne les mathématiques, il y a quelques jours, j'ai découvert un exercice de "suite" permettant de trouver le nombre de façon différentes pour monter un escalier de n marche(s). J'ai trouvé cet exercice très interressant et amusant, mais n'est il pas possible de programmer un algorithme sous algobox par exemple, pour trouver les réponses beaucoup plus facilement et rapidement. Je ne suis pas très douée en algorithme, quelqu'un pourrait il m'aider pour le créer?
Merci beaucoup :)

Salut
Tu peux regarder ça; c'est pour le cas où on peut monter de 1, 2 ou 3 marches à chaque fois.
Par exemple, avec 6 marches: 24 façons.

Image

Nadiaidan
Membre Naturel
Messages: 20
Enregistré le: 21 Sep 2014, 13:40

par Nadiaidan » 26 Sep 2014, 16:16

Bonjour chan79, merci beaucoup pour cette algorithme, cela va vraiment beaucoup plus vite que de passer par les calculs. ^^ C'est pour être un peu long pour créer l'algorithme lorsque l'on est pas très habituée, mais une fois fait cela va tout seul :)

Avatar de l’utilisateur
fatal_error
Membre Légendaire
Messages: 6610
Enregistré le: 22 Nov 2007, 12:00

par fatal_error » 26 Sep 2014, 17:08

hello,

une variante récursive :)
Code: Tout sélectionner
function howManyWay(n, steps){
  if(n==0){
    return 1;
  }
  if(n<0){
    return 0;
  }
  var r=0;
  steps.forEach(function(step){
    r += howManyWay(n-step, steps);
  });
  return r;
}
console.log('nb poss : '+howManyWay(6, [1,2,3])); //24


edit:
j'avais oublié, un peu de mémoization, ca fait pas de mal...
Code: Tout sélectionner
var memo={};
function howManyWay(n, steps){
  if(n==0){
    return 1;
  }
  if(n<0){
    return 0;
  }
  if(n in memo){
    return memo[n];
  }
  memo[n] = steps.map(function(step){
    return howManyWay(n - step, steps);
  }).reduce(function(a,b){return a+b});
  return memo[n];
}
console.log('nb poss : '+howManyWay(6, [1,2,3]));
la vie est une fête :)

 

Retourner vers ✎✎ Lycée

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 67 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite