藍橋杯真題 梅森素數python講解

2021-10-14 18:56:23 字數 729 閱讀 9947

如果乙個數字的所有真因子之和等於自身,則稱它為「完全數」或「完美數」

例如:6 = 1 + 2 + 3

28 = 1 + 2 + 4 + 7 + 14

早在西元前300多年,歐幾里得就給出了判定完全數的定理:

若 2^n - 1 是素數,則 2^(n-1) * (2^n - 1) 是完全數。

其中 ^ 表示「乘方」運算,乘方的優先順序比四則運算高,例如:2^3 = 8, 2 * 2^3 = 16, 2^3-1 = 7

但人們很快發現,當n很大時,判定乙個大數是否為素數到今天也依然是個難題。

因為法國數學家梅森的猜想,我們習慣上把形如:2^n - 1 的素數稱為:梅森素數。

截止2023年2月,一共只找到了48個梅森素數。 新近找到的梅森素數太大,以至於難於用一般的程式設計思路窺其全貌,所以我們把任務的難度降低一點:

2023年,美國伊利諾伊大學為了紀念他們找到的第23個梅森素數 n=11213,在每個寄出的信封上都印上了「2^11213-1 是素數」的字樣。

2^11213 - 1 這個數字已經很大(有3000多位),請你程式設計求出這個素數的十進位制表示的最後100位。

我們可以直接算出這個素數,轉為字串,在進行切片就可以了

x =

str(2**

11213-1

)print

(x[-

100:

])

藍橋杯真題 2020藍橋杯真題 跑步鍛鍊

小藍每天都鍛鍊身體。正常情況下,小藍每天跑 1 千公尺。如果某天是周一或者月初 1 日 為了激勵自己,小藍要跑 2 千公尺。如果同時是周一或月初,小藍也是跑 2 千公尺。小藍跑步已經堅持了很長時間,從 2000 年 1 月 1 日週六 含 到 2020 年10 月 1 日周四 含 請問這段時間小藍總...

神奇算式(藍橋杯真題) python

題目如下 由4個不同的數字,組成的乙個乘法算式,它們的乘積仍然由這4個數字組成。比如 210 x 6 1260 8 x 473 3784 27 x 81 2187 都符合要求。如果滿足乘法交換律的算式算作同一種情況,那麼,包含上邊已列出的3種情況,一共有多少種滿足要求的算式。請填寫該數字,通過瀏覽器...

階乘約數(藍橋杯真題) python

題目如下 定義階乘 n 1 2 3 n。請問 100 100 的階乘 有多少個約數。答案提交 這是一道結果填空的題,你只需要算出結果後提交即可。本題的結果為乙個整數,在提交答案時只填寫這個整數,填寫多餘的內容將無法得分。我們利用數的性質,任意乙個正整數 x 都可以表示成若干個質數乘積的形式,即 x ...