尤拉計畫(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 萬以下有多少個迴圈質數?將引數的個位數字調整至最前面...