PE第二弹
11。给一张20*20的数表,求横,纵,斜4个连续数的最大乘积。
蛤,除了暴力还能干啥。
12.求第一个至少有500个约数的三角数三角数就是满足\(n*(n+1)/2\)的数
不聪明的rsq在写了前十个三角数后觉得约数是单调递增的,于是想写一下二分,结果,这告诉我们,不懂常识就不要瞎猜结论。
很明显\(n = p_1^{a_1}*p_2^{a_2}*p_{n}^{a_n}\) 约数函数\(D(x) = (a_1+1)*(a_2+1)*(a_n+1)\)
由于 \(n\) 和 \(n+1\) 互质,所以 \(D(n*(n+1)) =D(n)*D)n+1)\) ,证明乘法分配和上面的唯一分解定理很容易搞。然后就搞出了 \(D(n*(n+1))\) 然而题目要的是 \(D(n*(n+1)/2)\) 哎哟,我们发现只要减掉没有质数2的那一项的其他项乘积就可以啦。这个把,其实只要rsq的眼里稍微好一点就看的出这个结论 \(D(n*(n+1)/2) = D(n)*D(n+1/2) (n+1 为偶数)或D(n*(n+1)/2) = D(n/2)*D(n+1)(n为偶数)\) ,然后,暴力吧。。。

浙公网安备 33010602011771号