之前看到老师在群里转发的做得好的同学的博客,都有点开来看,看懂别的同学的实现思路、算法,却也没想着要自己总结一下。这次就总结一下吧。
程序是要找一个不能被除数集{2~31}相邻两个数整除的数,之前的分析这会是一个很大的数。
如果一个数能被另一个数整除,那一定能被这个数的因子整除。反之,不能被一个数的质数整除,则不能被这个数整除。
所以在2~31中从16开始找。31以内的素数2,3,5,7,11,13,17,19,23,29,31。所以如果能被整除,则需要4个2,3个3,2个5,1个7,即16,27,25,7,11,13,17,19,23,29,31的积是能被除数集任意一个数整除,亦即少了那个就不能被整除,再综合前面的条件,有16,17符合条件(相邻的两个数),16的因子有2,2,2,2;17的因子有1,17;所以计算这个数2*27*25*7*11*13*17*19*23*29*31=530395415050;
以上是对之前作业的改进,进一步的思考。