要真能把这些都学明白,那可就相当于计算机专业本科毕业生的水平了。
任凭徐佑再怎么厉害,彭俊也是不会相信,徐佑的学习能力能夸张到这种地步的。
“真的都学完了?那我先给你发一道题目过去吧。”
彭俊自然是没有相信,徐佑真的把这些课程都自学完了。
但彭俊也没想难为徐佑,便先随便找了道难度不算太大的题目,给徐佑发送了过去。
徐佑在收到题目后,认真看了起来。
“给定一个整数n,返回n!结果尾数中零的数量。”
题目的内容很短,但徐佑心里清楚,题目短并不一定代表,题目会很简单。
有的时候,甚至是完全相反的。
徐佑先是把这道题的题干,翻译成比较容易理解的表述形式。
所谓的“n!”,即n的阶乘,从1开始,乘以2,乘以3,并一直乘到n。
而最后的计算结果中,数字的末尾有多少个0,也就是最后的答桉了。
如果用纯算法的思维,比较简单粗暴的方法,就是直接乘完,再去数末尾有多少个0就好了。
但这样的方法,无疑并不是一个好的方法。
徐佑知道,彭俊肯定不想让自己这样去解决问题。
很快,徐佑通过数学思维,重新找到了问题的解决思路。
“不考虑0的话,从1-9这9个数字中,只有2和它的倍数,与 5 和它的倍数,相乘时才有0出现。”
这样一来,问题就变成求这个阶乘数中,共能配出多少对2与5了。
来源4:http://www.31xiaoshuo.com/192/192001/73159566.html