查找自然数的第n个数字JavaScript

我们知道数学中的自然数是从1开始无穷大的数。

前15个自然数是-

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

因此,第一个自然数为1,第二个为2,第三个为3,依此类推。但是当我们超过9时,则第十个自然数位是10的第一个数字,即1,而第11自然数位是下一个数字,即0。

我们需要编写一个JavaScript函数,该函数接受一个数字,例如n,并找到并返回第n个自然数位。

示例

const findNthDigit = (num = 1) => {

   let start = 1;

   let len = 1;

   let count = 9;

   while(num > len * count) {

      num -= len * count;

      len++; count *= 10;

      start *= 10;

   };

   start += Math.floor((num-1)/len);

   let s = String(start);

   return Number(s[(num-1) % len]);

};

console.log(findNthDigit(5));

console.log(findNthDigit(15));

console.log(findNthDigit(11));

console.log(findNthDigit(67));

输出结果

控制台中的输出将是-

5

2

0

8

以上是 查找自然数的第n个数字JavaScript 的全部内容, 来源链接: utcz.com/z/347137.html

回到顶部