多組資料之親和數

2021-06-20 10:01:30 字數 1329 閱讀 9008

題目描述

如果a的因子和等於b,

b的因子和等於a,且

a≠b,則稱a,

b為親密數對。比如

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≤99999。輸出

對於每個測試例項,如果a和b

是親和數的話輸出

yes,否則輸出no。

判斷是否是親和數,需要先求出兩個數的所有因子,並求和,看和是否相等,求和與輸入多組資料都需要用迴圈語句;

題目要求中明確指出,輸入的兩個數不能相等,所以,輸入完兩個數之後

(cin>>a>>b;

),我們還要判斷一下這兩個數是否相等,如果相等

(if(a==b)

),就終止此次預算,繼續進行下一次迴圈

(continue;

);如果不相等

(else

),就繼續,先求出第乙個數的真因子之和

(t=0; for(i=1; i)

,再求出第二個數的真因子之和

(s=0; for(j=1; j)

;如果滿足親和數的條件

(if(t==b&&s==a)

),就輸出是

(cout<

),否則

(else

),就輸出否

(cout<

問題 親和數

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