當前程式設計題:求孿生數
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的真因子...