問題描述如下:
「當乙個數跟其真因子相加之和相等,那就稱之為完美數(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...