Python程式設計之尤拉計畫41 42

2021-09-21 14:28:19 字數 1085 閱讀 5120

尤拉計畫(project euler)。

如果乙個n位數恰好使用了1至n每個數字各一次,我們就稱其為全數字的。例如,2143就是乙個4位全數字數,同時它恰好也是乙個質數。

最大的全數字的質數是多少?

分析:8位數和9位數都能被3整除,所以最大的是7位數,從7位數倒過來排列,如果是質數那就是它了。

from itertools import permutations

defis_prime

(n):

if n ==2:

return

true

if n <

2or n %2==

0:return

false

for i in

range(3

,int

(n **

0.5)+1

,2):

if n % i ==0:

return

false

return

true

for i in permutations(

'7654321'):

if is_prime(

int(

''.join(i)))

:print

(int(''

.join(i)))

break

輸出:

7652413

三角形數序列中第 n 項的定義是: tn = ½n(n+1); 因此前十個三角形數是:

1, 3, 6, 10, 15, 21, 28, 36, 45, 55, …

通過將乙個單詞中每個字母在字母表中的位置值加起來,我們可以將乙個單詞轉換為乙個數。

例如,單詞sky的值為19 + 11 + 25 = 55 = t10。如果單詞的值是乙個三角形數,我們稱這個單詞為三角形單詞。

words.txt 是乙個16k的文字檔案,包含將近兩千個常用英語單詞。在這個檔案中,一共有多少個三角形詞?

#這題沒多大意思
輸出:

Python程式設計之尤拉計畫21 22

尤拉計畫 project euler 記d n 為n 的所有真因子 小於 n 且能整除 n 的整數 之和。如果 d a b 並且 d b a,且 a b,那麼 a 和 b 就是乙個親和數對 amicable pair 並且 a 和 b 都叫做親和數 amicable number 例如220的真因子...

Python程式設計之尤拉計畫26 27

尤拉計畫 project euler 單位分數是指分子為1的分數.分母為2 10的單位分數的小數表示如下 單位分數 小數1 2 0.51 3 0.3 1 40.25 1 50.2 1 60.1 6 1 70.142857 1 80.125 1 90.1 1 10 0.10.1 6 表示0.1666 ...

Python程式設計之尤拉計畫35 36

尤拉計畫 project euler 我們稱 197 為乙個迴圈質數,因為它的所有輪轉形式 197,971 和 719 都是質數。100 以下有 13 個這樣的質數 2,3,5,7,11,13,17,31,37,71,73,79,和 97.100 萬以下有多少個迴圈質數?將引數的個位數字調整至最前面...