Android的專欄
阿新 • • 發佈:2019-01-26
題目描述
如果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。示例輸入
2 220 284 100 200
示例輸出
YES NO
#include<stdio.h> void main() { int n; scanf("%d",&n); while(n--) { int a,b; scanf("%d%d",&a,&b); int c1,c2; c1=0; c2=0; int i; for(i=1;i<a;i++) { if(a%i==0) {c1+=i;} } for(i=1;i<b;i++) { if(b%i==0) {c2+=i;} } if(c1==b && c2==a) {printf("YES\n");} else {printf("NO\n");} } }