大數親和數對的求法 友元數對

2021-06-25 13:23:36 字數 794 閱讀 4758

做了幾天的親和數對,今天晚上終於ac了,不容易呀,下面講一講我的做法吧,希望能夠幫助大家

題目如下:

數字220和284是一對友元數字,因為220的所有因子的和是284,284的所有因子的和是220。

你能在小於10000的數中找出有多少對友元數字麼?那是必須的。

你的任務是在給定的區間[a,b]中找出有多少對友元數字。

有多組測試資料。

每組資料報括兩個整數a,b(1<=a<=b<=5000000)。

輸入到檔案末尾。

對於每組輸入,輸出在該區間內的有多少對友元數字。每組輸出佔一行。

1 1001 1000

01雖然6的因子和是6,但6不是友元數字,像這樣的數字被叫做完美數字。

題目是要輸出親和數的對數,而且數的範圍特別大,所以這兒我們可以考慮先打表;

打表的**如下:

由於陣列元素較多,我們先把陣列元素輸出到硬碟上,然後貼上複製到陣列中,進行運算

#include

using namespace std;

int main()

int sum2=1;

for(int m=2;m

}file *fp;

if(i==sum2&&i}}

接下來,我們就要進行計算了;

#include

using namespace std;

int main()

;int b[71]=;

int x,y,sum,i;

while(cin>>x>>y)

cout<}

}

素數 親和數 完數的求法

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

對友元的介紹

一.對友元的介紹分為友元函式和友元類。二.對友元函式的介紹分為普通友元函式和友元成員函式。1.對普通友元函式的介紹 將普通函式宣告為友元函式。示例如下 includeusing namespace std class sum friend void display sum 將普通成員函式宣告為該類的...

對c 友元函式和友元類的理解

1,友元函式的定義和作用 我們已知道類具有封裝和資訊隱藏的特性。只有類的成員函式才能訪問類的私有成員,程式中的其他函式是無法訪問私有成員的。非成員函式可以訪問類中的公有成員,但是如果將資料成員都定義為公有的,這又破壞了隱藏的特性。另外,應該看到在某些情況下,特別是在對某些成員函式多次呼叫時,由於引數...