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)
这算法没法直视, 仍是待用最小公倍数方法