1. 程式人生 > >HDU2040_親和數

HDU2040_親和數

親和數

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

Total Submission(s): 35475    Accepted Submission(s): 21370


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

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

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

你的任務就編寫一個程式,判斷給定的兩個數是否是親和數
Input 輸入資料第一行包含一個數M,接下有M行,每行一個例項,包含兩個整數A,B; 其中 0 <= A,B <= 600000 ;
Output 對於每個測試例項,如果A和B是親和數的話輸出YES,否則輸出NO。
Sample Input 2 220 284 100 200
Sample Output YES NO
Author linle
#include <stdio.h>
main()
{	int n,x,y,sum1,sum2,i,j;
    scanf("%d",&n);
    for (i=0;i<n;i++)
    {   sum1=0;	sum2=0; 
        scanf("%d%d",&x,&y);
        for(j=1;j<x;j++)
            if(x%j==0)	sum1+=j;
        for(j=1;j<y;j++)
            if(y%j==0)	sum2+=j;
        if(sum1==y && sum2==x)	printf("YES\n");
        else	printf("NO\n");
    }
    return 0; 
}

相關推薦

HDU2040_和數

親和數 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Sub

1912: 和數

mil sha word 是否 log csharp lse led mar 1912: 親和數 Time Limit: 1 Sec Memory Limit: 64 MB Submit: 375 Solved: 184 [Submit][Status][Web Bo

和數

sum 所有 自身 urn 其中 clu sca tdi 包含 題目描述 古希臘數學家畢達哥拉斯在自然數研究中發現,220的所有真約數(即不是自身的約數)之和為: 1+2+4+5+10+11+20+22+44+55+110=284。 而284的所有真約數為1

HDU - 和數

http://acm.hdu.edu.cn/showproblem.php?pid=2040 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Oth

C++ 和數

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

HDU2040-和數

題目出自杭電 首先解釋何謂親和數 親和數是對於兩個數來說的。如果兩個數a和b,a的所有除本身以外的因數之和等於b,b的所有除本身以外的因數之和等於a,則稱a,b是一對親和數。 思路:對於輸入的

HDU 2203 和數(KMP||String)

Problem Description 人隨著歲數的增長是越大越聰明還是越大越笨,這是一個值得全世界科學家思考的問題,同樣的問題Eddy也一直在思考,因為他在很小的時候就知道親和串如何判斷了,但是發現,現在長大了卻不知道怎麼去判斷親和串了,於是他只好又再一

HDoj:2040 和數(C語言)

這個題比較簡單,只需要利用迴圈找出A、B的真約數,然後相加進行判斷,是否兩個數中的任何一個數都是另一個數的真約數之和,如果是就輸出YES,否則輸出NO。下面貼上已AC的C語言程式碼:#include<stdio.h>#include<math.h>in

Problem 09. 和數

Problem 09. 親和數 題目簡述:     如果兩個數互為另一個數的真約數之和,則這兩個數就是親和數,判斷給定的兩個數是否是親和數 解題思路:分別用兩個變量表示給定數的真約數之和。另外n的真約數只需判斷n用[1,n-1]取餘後是否為0。 原始碼:

求N以內的所有和數

親和數: 親和數問題最早是由畢達哥拉斯學派發現和研究的。他們在研究數字的規律的時候發現有以下性質特點的兩個數: 220的真因子是:1、2、4、5、10、11、20、22、44、55、110; 284的真因子是:1、2、4、71、142。 而這兩個數恰恰等於對方的真因子各自加

程式設計師程式設計藝術:第六章、求解500萬以內的和數

   第六章、親和數問題--求解500萬以內的親和數 前奏     本章陸續開始,除了繼續保持原有的字串、陣列等面試題之外,會有意識的間斷性節選一些有關數字趣味小而巧的面試題目,重在突出思路的“巧”,和“妙”。本章親和數問題之關鍵字,“500萬”,“線性複雜度”。

如何判斷和數

內容:判斷親和數 目的:掌握迴圈與if語句 程式程式碼: /* * 程式的版權和版本宣告部分: * Copyright (c) 2013, 煙臺大學計算機學院 * All right

和數(220/284)

親和數(amicable number) 由費馬發現,親和數指的是一對數,其中每一個數是另一個數的因數之和。 畢達哥拉斯學派給出了一非凡的發現,220 和 284 是親和數。 220 的因數為:1

2040 和數

親和數 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 26771    Accepted Submiss

杭電ACM 2040 和數

#include<stdio.h>int main(){ int n,a,b,i,j,ax,bx; scanf("%d",&n); while(n--) {  ax=bx=0;  scanf("%d %d",&a,&b);        for(i=1;i<a;i++

1154:和數

#include<cstdio> #include<cmath> int factor(int n) {     int sum=0; for(int i=1;i<=n/2;i++)     if((n%i)==0) sum+=i; return

杭電oj2040 和數

需注意AB的範圍,最大是600000,所以需要用長整型表示#include <iostream>  #include <string> #include<math.h>#include<algorithm>using names

和數

題目連結:http://115.28.203.224/problem.php?cid=1011&pid=0 題目描述 古希臘數學家畢達哥拉斯在自然數研究中發現,220的所有真約數(即不是自身的約數)之和為:1+2+4+5+10+11+20+22+44+55+110=2

1048: 【和數

題目 Description 古希臘數學家畢達哥拉斯在自然數研究中發現,220的所有真約數(即不是自身的約數)之和為: 1+2+4+5+10+11+20+22+44+55+110=284。 而284的所有真約數為1、2、4、71、 142,加起來恰好

Hdu2040 和數

bmi () 輸入 amp ble 自身 一個 lan 數位 題目鏈接:http://acm.hdu.edu.cn/showproblem.php?pid=2040 親和數 Time Limit: 2000/1000 MS (Java/Others) Memory