求孿生數 親和數

2021-06-05 06:05:09 字數 825 閱讀 5331

當前程式設計題:求孿生數

1.

【問題描述】

孿生數定義: 如果 a 的約數(因數,包含1,但不包含a本身)之和等於 b , b 的約數(因數)之和等於 a , a和 b 稱為孿生數(a和b不相等)。試找出正整數 m 和 n 之間的孿生數。

【輸入形式】

從控制台輸入兩個正整數m和n(1<=m【輸出形式】

在標準輸出上輸出符合題目描述的m和n之間的全部孿生數對(包括m和n)。每行輸出一對孿生數,用乙個空格隔開,小的先輸出;各行孿生數按照第乙個數從小到大的順序輸出,一對孿生數隻輸出一次。 如果沒有符合要求的孿生數對,則輸出字串「none」。

【輸入樣例1】

20 300

【輸出樣例1】

220 284

【輸入樣例2】

200 250

【輸出樣例2】

none

【樣例說明】

樣例1輸入的區間為[20,300],其間有一對孿生數對,即:220(1+2+4+5+10+11+20+22+44+55+110=284)和284(1+2+4+71+142=220)。樣例2輸入的區間是[200,250],其間沒有孿生數對,所以輸出字串:none。

【評分標準】

該題要求輸出區間中的所有孿生數對,共有5個測試點,提交程式檔名為example1.c或example1.cpp。

#include

int main(),k=0;

scanf("%d%d",&a,&b);

for(int i=a;i<=b;i++)

return 0;

}

問題 親和數

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

素數 親和數 完數的求法

這幾個問題都可以用乙個輔助陣列來幫助求解,也有的稱為是伴隨陣列。1 素數 篩選法求素數 把從1開始的 某一範圍內的正整數從小到大順序排列,1不是素數,首先把它篩掉。剩下的數中選擇最小的數是素數,然後去掉它的倍數。依次類推,直到篩子為空時結束。void prime int n for i 1 i n ...

親和數問題求解

在上面這個blog中看到不少比較經典的演算法問題研究,俗話說,好記性不如爛筆頭,所以記錄一下自己的理解,以防忘記 1首先,什麼是是親和數?親和數成對出現,假如a和b是一對親和數,那麼a的所有的真因子之和等於b,反過來b的所有真因子之和等於a 舉個栗子 220和284,一對最小的親和數 220的真因子...