杭電2040親和數(shù)-Java解法

親和數(shù)

Time Limit: 2000/1000 MS (Java/Others)????Memory Limit: 65536/32768 K (Java/Others)

Total Submission(s): 26771????Accepted Submission(s): 16135

Problem Description

古希臘數(shù)學(xué)家畢達(dá)哥拉斯在自然數(shù)研究中發(fā)現(xiàn),220的所有真約數(shù)(即不是自身的約數(shù))之和為:?

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

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

你的任務(wù)就編寫一個(gè)程序,判斷給定的兩個(gè)數(shù)是否是親和數(shù)


Input

輸入數(shù)據(jù)第一行包含一個(gè)數(shù)M,接下有M行,每行一個(gè)實(shí)例,包含兩個(gè)整數(shù)A,B; 其中 0 <= A,B <= 600000 ;


Output

對(duì)于每個(gè)測(cè)試實(shí)例,如果A和B是親和數(shù)的話輸出YES,否則輸出NO。


Sample Input

2 220 284 100 200


Sample Output

YES NO



對(duì)于這道題,我覺得很簡單,只要抓住一句話“如果兩個(gè)數(shù)中任何一個(gè)數(shù)都是另一個(gè)數(shù)的真約數(shù)之和,則這兩個(gè)數(shù)就是親和數(shù)?!?,只要理解這句話之后很簡單,對(duì)于這個(gè)就是公約數(shù)的計(jì)算并加和判斷就行。


import java.util.ArrayList;

import java.util.Scanner;

public class Solu {

????public static void main(String[] args) {

????????Scanner scanner = new Scanner(System.in);

????????int n = scanner.nextInt();

????????int[][] num = new int[n][2];

????????for (int i = 0; i < n; i++) {

????????????num[i][0] = scanner.nextInt();

????????????num[i][1] = scanner.nextInt();

????????}

????????ArrayListlist1 = new ArrayList<>();

????????for (int i = 0; i < num.length; i++) {

????????????int ss = f(num[i][0]);

????????????if (ss==num[i][1]) {list1.add(1);}

????????????else {list1.add(0);}

????????}

????????for(Integer i:list1){

????????????if (i==1) {System.out.println("YES");}

????????????else {System.out.println("NO");}}

????????}

????private static int f(int s) {

????????ArrayList list = new ArrayList<>();

????????for (int i = 1; i < s; i++) {

????????????if (s%i==0) {

????????????list.add(i);

????????}

????}

}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Java經(jīng)典問題算法大全 /*【程序1】 題目:古典問題:有一對(duì)兔子,從出生后第3個(gè)月起每個(gè)月都生一對(duì)兔子,小兔子...
    趙宇_阿特奇閱讀 2,068評(píng)論 0 2
  • 50道經(jīng)典Java編程練習(xí)題,將數(shù)學(xué)思維運(yùn)用到編程中來。抱歉哈找不到文章的原貼了,有冒犯的麻煩知會(huì)聲哈~ 1.指數(shù)...
    OSET我要編程閱讀 7,277評(píng)論 0 9
  • 【程序1】 題目:古典問題:有一對(duì)兔子,從出生后第3個(gè)月起每個(gè)月都生一對(duì)兔子,小兔子長到第三個(gè)月后每個(gè)月又生一對(duì)兔...
    葉總韓閱讀 5,223評(píng)論 0 41
  • 1:有一對(duì)兔子,從出生后第3個(gè)月起每個(gè)月都生一對(duì)兔子,小兔子長到第四個(gè)月后每個(gè)月又生一對(duì)兔子,假如兔子都不死,問每...
    Elder閱讀 2,495評(píng)論 4 7
  • 一、學(xué)了什么 北京時(shí)間,2016年01月9號(hào)-10號(hào),在北苑路北附近有辣么一群人,聚集在一起,進(jìn)行了為期兩天的項(xiàng)目...
    喜歡艾薇兒和小甜甜閱讀 2,034評(píng)論 0 3

友情鏈接更多精彩內(nèi)容