来源:数据结构和算法
完全数是指真因数之和等于自身的那些数。例如,28的真因数之和为1+2+4+7+14=28,因此28是一个完全数。
一个数n被称为亏数,如果它的真因数之和小于n;反之则被称为盈数。
由于12是最小的盈数,它的真因数之和为1+2+3+4+6=16,所以最小的能够表示成两个盈数之和的数是24。通过数学分析可以得出,所有大于的数都可以被写成两个盈数的和;尽管我们知道最大的不能被写成两个盈数的和的数要小于这个值,但这是通过分析所能得到的最好上界。
找出所有不能被写成两个盈数之和的正整数,并求它们的和。
上期的问题是:3,最小倍数
答案:
System.out.println(smallestMultiple(20));
分析:
其实就是求1到20的最小公倍数,1到n的最小公倍数也是n*(n-1)的倍数,通过不断的乘以n*(n-1)的倍数来判断,如果1到n都能被他整除,则直接返回。
预览时标签不可点收录于话题#个上一篇下一篇