ACM「親和數」問題 1157

2021-09-12 16:17:19 字數 667 閱讀 1148

「親和數」問題

題目描述:

古希臘數學家畢達哥拉斯在自然數研究中發現,220的所有真約數(即不是自身的約數)之和為:

1+2+4+5+10+11+20+22+44+55+110=284。

而284的所有真約數為1、2、4、71、 142,加起來恰好為220。人們對這樣的數感到很驚奇,並稱之為親和數。一般地講,如果兩個數中任何乙個數都是另乙個數的真約數之和,則這兩個數就是親和數。

你的任務就編寫乙個程式,判斷給定的兩個數是否是親和數

輸入輸入資料第一行包含乙個數m,接下有m行,每行乙個例項,包含兩個整數a,b; 其中 0 <=a,b <=600000 ;

輸出對於每個測試例項,如果a和b是親和數的話輸出yes,否則輸出no。

樣例輸入

2220 284

100 200

樣例輸出

yesno

#include using namespace std;

int main()

if(s1==b)

else

cout <<"no"

}return 0;

}```除了自身外最大的約數只可能為本身的一半,每找到乙個約數便加起來,與b對比,若不對直接出no,對則重複步驟與a對比,若相同則出yes,

問題 親和數

題目描述 古希臘數學家畢達哥拉斯在自然數研究中發現,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的真因子...

杭電 親和數

親和數 input 輸入資料第一行包含乙個數m,接下有m行,每行乙個例項,包含兩個整數a,b 其中 0 a,b 600000 output 對於每個測試例項,如果a和b是親和數的話輸出yes,否則輸出no。sample input 2 220 284 100 200 sample output ye...