形如"123456789876543212345678987654321..." 的第 n 位是什么?

起初见到这个面试题就想用到循环去求解,但是仔细观察下

得到的规律为1234567898765432 总长为16位

即16次就会重复出现一次

所以想到用n和16进行取余 这样就可以取到对应的数

起初是这么实现的

var str='1234567898765432';

function getNums(n){

    return  str.charAt((n%16)-1);

};

但是这有个弊端就是在取0 16等 16的倍数的情况下会取不到相应的数值

因此还得对16的倍数进行处理  代码如下

形如

var str='1234567898765432';

function getNums(n){

    return n%16==0?str.charAt((n%16)+1):str.charAt((n%16)-1)

};

小白一枚,欢迎指正.......

你可能感兴趣的:(形如"123456789876543212345678987654321..." 的第 n 位是什么?)