思路:
下表是一个很简单的模拟得到的结果。
n 结果 1 × 2 × 3 × 4=22 × 5 × 6=2×3 (1,2,3) 7 × 8=23 × 9=32 × 10=2×5 (1,1,1,2,5)
……
上述过程由简单模拟得到。接下来根据上面的表格或许可以更好地理解:
如果对于一个数n而言,若它只有一种大于1的质因数x,又想保证满足第二个式子,那么a1必然为n或n的因数,又由于满足a1+a2+...+ak=n且lcm(a1,a2,...,ak)=n,则对于任何1<=i<=k而言,ai为n的因数,又倘若只有一种大于1的因数x,则ai必为x的正整数次数幂,结合lcm的特性知这里只会选择max(a1,a2,...,ak)作为lcm的结果,故若想要第二个式子成立,必然需要让a1=n,针对1<j<=k,aj=1。又因为a1+a2+...+ak=n,故知k=1,与题目中要求k>2矛盾,因此,n至少有2种大于1的质因数。重复上述过程,易知如n=10这种含有2种及以上的质因数的数是青蛙数。
代码: