10如下的天然數中,屬於3和5的倍數的有3,5,6和9,它們之和是23.php
找出1000如下的天然數中,屬於3和5的倍數的數字之和。python
s=0 for i in range(1000): if i%3 == 0 or i%5 ==0: s += i print s
>>> 算法
233168oop
斐波那契數列中的每一項被定義爲前兩項之和。從1和2開始,斐波那契數列的前十項爲:spa
1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...code
考慮斐波那契數列中數值不超過4百萬的項,找出這些項中值爲偶數的項之和。orm
fnList=[1,2] # 初始化 fnSum=2 # 求偶數項的和 flag=0 # 在fnList0,1位置不斷切換 while True: fnList[flag] = sum(fnList) if fnList[flag] > 4000000: break if fnList[flag] %2 == 0: fnSum += fnList[flag] flag=abs(1-flag) print fnSum
>>>
get
4613732it
一句話:
class
print sum([i for i in range(1000) if i%3==0 or i%5==0])
13195的質數因子有5,7,13和29.
600851475143的最大質數因子是多少?
什麼是質數因子,素數 沒搞懂. 略過
一個迴文數指的是從左向右和從右向左讀都同樣的數字。
最大的由兩個兩位數乘積構成的迴文數是9009 = 91 * 99.
找出最大的有由個三位數乘積構成的迴文數。
def loop(n): res = [0]*3 for i in range(n): for j in range(n): mul = i*j if str(mul) == str(mul)[::-1]: if mul > res[2]: res[0],res[1],res[2] = i,j,mul return res print loop(100)
>>>
[913, 993, 906609]
2520是最小的能被1-10中每一個數字整除的正整數。
最小的能被1-20中每一個數整除的正整數是多少?
def loop(a,b): # 這算法真TNND爛. if a>b:a,b=b,a ss = 1 while True: if map(lambda x:ss%x==0, range(a,b+1)) == [True]*(b-a+1): break ss += 1 return ss print loop(1,20)
這算法沒法直視, 仍是待用最小公倍數方法