問題23 所有不能被兩個盈數相加的正整數之和

2021-08-31 02:35:08 字數 1042 閱讀 2585

問題描述如下:

「當乙個數跟其真因子相加之和相等,那就稱之為完美數(profect number)

如果乙個數比其真因子相加之和還大,那就稱之為虧數(deficient number),如果比真因子相加還小,那就稱之為盈數(abundant number)。

12是最小的盈數,1+2+3+4+6=16>12.最小的兩個盈數相加的正整數是14,我們可以知道大於28123的正整數都可以被兩個盈數相加得到。

求不能被兩個盈數相加的正整數之和?」

**實現如下:

/**

* n的真因子之和

* * @param n

* @return

*/private static int sumoffactors(int n)

} return result;

} /**

* n是否是盈數

* * @param n

* @return

*/private static boolean isabundantnumber(int n)

/*** 28123以下盈數陣列

* * @return

*/private static listgetabundantnumbers()

} return list;

} /**

* 不能被兩個盈數相加的正整數之和

* @return

*/private static int sum()

int temp = i - number;

if (list.contains(temp))

}if (!flag)

system.out.println(i);

} return sum;

} private static final int limit = 28123;

可以得到答案:4179871

效率比較差,太睏就不想優化了,有空再想,今天練乙個就先睡了^_^

請不吝賜教。

@anthor clumsybirdz

988 211所有學校

console 命令列 function removetablerow rowlist,rownum var ptn211 new regexp 清華大學 北京大學 中國人民大學 北京工業大學 北京理工大學 北京航空航天大學 北京化工大學 北京郵電大學 對外經濟 大學 中國傳媒大學 民族大學 中國礦...

133 所有可能的路徑

題目描述 給乙個有 n 個結點的有向無環圖,找到所有從 0 到 n 1 的路徑並輸出 不要求按順序 結點的數量會在範圍 2,15 內。你可以把路徑以任意順序輸出,但在路徑內的結點的順序必須保證。使用回溯和遞迴進行 class solution public static void dfspath l...

797 所有可能的路徑

一 dfs回溯 class solution object 方法一 dfs def allpathssourcetarget self,graph type graph list list int rtype list list int if not graph 0 return res n len...