朋友来上海找新工作,发来一道面试题:

大致是一个sb换了新号码,发现三个规律:
1,新旧号码都是4位数
2,旧号码翻转后正好是新号码
3,新号码是旧号码的4倍

这题真无聊,我不知道有啥用,由于我比较笨,想了半天也没出结果。
其实道理很简单,从1000-9999中有那么两个数字符合上面的关系(有没有我不确定)

到这里,作为一个程序员,我只想给他用程序去算,不想再费脑了。
不是4位数么,肯定1000-9999,那么我直接循环一个个对比不就行了。

for (var i = 1000; i <=9999; i++) {
    //得到新号码
    var newNum = i.toString().split('').reverse().join('')*1;
    //比较
    if (newNum/i==4) {
        console.log(newNum);
    }
}

最后直接出结果:8712 ,那旧号码就是2178

虽然拿到了结果,我也不知道这个题考的有什么意义;

之所以谢了这篇文章,是在告诉自己,用机器的方式去思考,往往比人脑更快,善用你手边的机器


jsoncode
4k 声望786 粉丝

I'm jsoncode