問題21 10000以下的親和數之和

2021-09-12 03:20:13 字數 583 閱讀 1050

問題描述如下:

「d(n)表示n的真因子之和,當d(a)=b,d(b)=a,這時a,b為親和數

例如,220的的真因子為1,2,4,5,10,11,20,22,55和110,所以d(220)=284.284的真因子是1,2,4,71和142,所 以d(284)=220,所以220和284是親和數.

求10000以下的親和數之和?」

**實現如下:

/**

* n範圍內親和數之和

*/private static int sum(int n)

} return sum;

} /**

* n的真因子之和

* @param n

* @return

*/private static int sumoffactors(int n)

} return result;

}

可以得到答案:31626.

方法sumoffactors還是可以優化的,大家有興趣可以研究,提示i的範圍以及i+的step。

請不吝賜教。

@anthor clumsybirdz

問題 親和數

題目描述 古希臘數學家畢達哥拉斯在自然數研究中發現,220 的所有真約數 即不是自身的約數 之和為 1 2 4 5 10 11 20 22 44 55 110 284。而 284 的所有真約數為 1 2 4 71 142,加起來恰好為 220。人們對這樣的數感到很驚奇,並稱之為親和數。一般地講,如果...

親和數問題求解

在上面這個blog中看到不少比較經典的演算法問題研究,俗話說,好記性不如爛筆頭,所以記錄一下自己的理解,以防忘記 1首先,什麼是是親和數?親和數成對出現,假如a和b是一對親和數,那麼a的所有的真因子之和等於b,反過來b的所有真因子之和等於a 舉個栗子 220和284,一對最小的親和數 220的真因子...

ACM「親和數」問題 1157

親和數 問題 題目描述 古希臘數學家畢達哥拉斯在自然數研究中發現,220的所有真約數 即不是自身的約數 之和為 1 2 4 5 10 11 20 22 44 55 110 284。而284的所有真約數為1 2 4 71 142,加起來恰好為220。人們對這樣的數感到很驚奇,並稱之為親和數。一般地講,...