回分類題庫
g033: B.友好數
關鍵字: NPSC 2007 國中組決賽

測資點 : 2 | Time Limit : 10000 ms | Memory Limit : 128000 KB
Accepted : 129 Times / 115 Users | Submit : 199 Times / 116 Users | Accepted rate : 99%
題目加入時間 : 2011-12-16 15:10

Content: 简体中文

畢達哥拉斯是公元前六世紀的古希臘數學家。據說曾有人問他:「朋友是什麼?」他回答:「這是第二個我,正如220與284。」為什麼他把朋友比喻成了兩個數呢?原來220的真因數是1,2,4,5,10,11,20,22,44,55和110,加起來得284;而284的真因數是1,2,4,71,142,加起來也恰好是220。284和220就是友好數。它們是人類最早發現的又是所有友好數中最小的一對。(n的真音數就是所有小於 n 的正因數。)

220和248這一對數被認為是友誼的象徵。中世紀曾有一種熱門的護身符,護身符上就刻了這一對親和數,佩帶這種護身符的目的是促進愛情的發展。又有一說,如果分別在二只水果上刻下220及248這一對親和數,吃下第一只,然後將第二只送給所愛的人吃,就能有意想不到的效果。另外,創世紀中記載了雅各(Jacob)送給以掃(Esau)220隻山羊;早期的神學家認為山羊的數目可以解讀成雅各對以掃的摯愛之情的表達。

二千多年後的1636年人們才發現了第二對友好數 17296 與 18416。之後,人類不斷發現新的友好數。1747年,偉大的數學家歐拉(Euler)已經知道30對,1750年又增加到60對。到現在數學家已經發現了900對以上這樣的友好數。

Input:

輸入檔中有許多數字,每個數字 n 佔一行,最後一個數字是 0,不需要對這個 0 輸出任何東西。其餘的數字都介於 2 與1000000 之間。

Output:

對輸入的每個數 n,請試著找出是否存在某個數 m,使得 n 和 m 是友好數。如果有,請輸出 m,如果 n 和它自己形成友好數(也就是 n 的真因數和剛好也是 n)則輸出 =n,否則輸出 0。每個輸出都佔一行

Sample Input:help

若題目沒有特別說明,則應該以多測資的方式讀取,若不知如何讀取請參考 a001 的範例程式。
220
28
19
0

Sample Output :

284
=28
0

Hint :

因為 28 的真因數有1,2,4,7和14,總和剛好也是 28。

Author :

NPSC 2007 國中組決賽 (管理員:sagit)

  Solve it!   Status Forum