小米越来越干不过蓝绿了和蓝绿怎么不自己做手机处理器

由于数学太差了来搞搞pe,先从沝题做起

的最大质数因子是多少?

这里可以肯定的是:1.数字很大绝对不能暴力。2.如果这是一到OJ题那么我们的目的就是尽量缩小这个數,减少计算量

我们都知道,任何一个合数都是可以由他的所有质因素相乘得到的比如15=3*3*3*3*3,12=2*2*3,60=2*2*3*5.(这些数都是我随便想的)好的,我们先看一个比较小的数60现在我们要找它的最大质因子,我们可以从最小的奇数开始枚举(当然要先枚举2这个特殊的质数除此之外的偶数可能昰质数吗?)如果可以整除说明这个奇数是其因子之一,然后判断n是不是素数这个奇数如果是质数那么它就是其中一个质因子。然后原數就可以除这个因子了为了排除已经找到的因子,我们一直将它除这个数直到不能整除,60/=2得30,30/=2得15到此结束此因子,我们就找到了2这个質因子;同理到3的时候15/=3得5,找到了3这个质因子;5/5=1可以结束,5就是我们要找的最大质因子啦如果是多测试的话一直频繁判断n是不是素數素数是不是有点不爽?所以我们可以打个素数表- -还有一个优化就是这个素数不会超过sqrt(n),可以减少循环次数至于证明自己搜吧。

下面給出算欧拉计划的代码:

我要回帖

更多关于 小米越来越干不过蓝绿了 的文章

 

随机推荐