>  기사  >  웹 프론트엔드  >  JavaScript에서 숫자를 보고 말하는 첫 번째 n 시퀀스 생성

JavaScript에서 숫자를 보고 말하는 첫 번째 n 시퀀스 생성

WBOY
WBOY앞으로
2023-09-15 23:57:021316검색

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

Question

수학에서 "보고 말하기" 시퀀스는 다음과 같이 시작하는 정수 시퀀스입니다.

1, 11, 21, 1211, 111221, 312211, …

이전 멤버에서 시퀀스 멤버를 생성하려면 숫자를 읽어야 합니다. 이전 멤버의 숫자 그룹의 자릿수를 동일하게 계산합니다.

예를 들어 1211의 다음 숫자는 -

111221

입니다. 숫자 1211을 소리내어 읽으면 -

One one, one two, two one which gives us 111221
가 되기 때문입니다.

숫자 n을 받아들이고 "look thelook and"를 반환하는 JavaScript 함수를 작성해야 합니다. "라고 말하세요. 시퀀스의 처음 n개 항목입니다.

예제

다음은 코드-

라이브 데모

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));

Output

다음은 콘솔 출력-

[
   &#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;
]

위 내용은 JavaScript에서 숫자를 보고 말하는 첫 번째 n 시퀀스 생성의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제