Hasilkan jujukan n pertama melihat dan menyebut nombor dalam JavaScript

WBOY
Lepaskan: 2023-09-15 23:57:02
ke hadapan
1298 orang telah melayarinya

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

Soalan

Dalam matematik, jujukan "lihat-dan-kata" ialah jujukan integer yang bermula seperti berikut -

1, 11, 21, 1211, 111221, 312211, …
Salin selepas log masuk

Untuk menjana ahli jujukan daripada ahli sebelumnya, kita membaca nombor tersebut daripada ahli sebelumnya dan mengira sama Bilangan digit dalam kumpulan digit.

Sebagai contoh, nombor seterusnya kepada 1211 ialah -

111221
Salin selepas log masuk

Sebab jika kita membaca nombor 1211 dengan kuat, ia akan menjadi -

One one, one two, two one which gives us 111221
Salin selepas log masuk

Kita perlu menulis fungsi JavaScript yang menerima nombor n dan mengembalikan "look thelook and katakan" N item pertama bagi jujukan.

Contoh

Berikut ialah kod-

Demonstrasi langsung

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));
Salin selepas log masuk

Output

Berikut ialah output konsol-

[
   &#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;
]
Salin selepas log masuk

Atas ialah kandungan terperinci Hasilkan jujukan n pertama melihat dan menyebut nombor dalam JavaScript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!