Maison > interface Web > js tutoriel > Générer la première n séquence de nombres vus et prononcés en JavaScript

Générer la première n séquence de nombres vus et prononcés en JavaScript

WBOY
Libérer: 2023-09-15 23:57:02
avant
1331 Les gens l'ont consulté

在 JavaScript 中生成前 n 个看和说数字的序列

Question

En mathématiques, une séquence "regarder et dire" est une séquence d'entiers qui commence comme suit -

1, 11, 21, 1211, 111221, 312211, …
Copier après la connexion

Pour générer un membre d'une séquence à partir du membre précédent, nous lisons le nombre du membre précédent et calculez le même nombre de chiffres dans le groupe de chiffres.

Par exemple, le nombre suivant 1211 est -

111221
Copier après la connexion

Parce que si nous lisions le nombre 1211 à voix haute, ce serait -

One one, one two, two one which gives us 111221
Copier après la connexion

Nous devons écrire une fonction JavaScript qui accepte le nombre n et renvoie "regardez le look et say" Les n premiers éléments de la séquence.

Exemple

Ce qui suit est le code-

Démonstration en direct

const num = 12;
const generateSequence = (num = 1) => {
   const lookAndSay = (val) => {
      let res = '';
      let chars = (val + ' ').split('');
      let last = chars[0];
      let count = 0;
      chars.forEach(c => {
         if(c === last){
            count++;
         }else{
            res += (count + '') + last;
            last = c;
            count = 1;
         };
      });
      return res;
   }
   let start = 1;
   const res = [];
   for(let i = 0; i < num; i++){
      res.push(String(start));
      start = lookAndSay(start);
   };
   return res;
};
console.log(generateSequence(num));
Copier après la connexion

Sortie

Ce qui suit est la sortie de la console-

[
   &#39;1&#39;,
   &#39;11&#39;,
   &#39;21&#39;,
   &#39;1211&#39;,
   &#39;111221&#39;,
   &#39;312211&#39;,
   &#39;13112221&#39;,
   &#39;1113213211&#39;,
   &#39;31131211131221&#39;,
   &#39;13211311123113112211&#39;,
   &#39;11131221133112132113212221&#39;,
   &#39;3113112221232112111312211312113211&#39;
]
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal