1. Fibonacci Series

#
def Fib(n):
if n == 1 or n == 2:
return 1;
else:
return Fib(n - 1) + Fib(n - 2)
#
def Fib(n):
return 1 and n <= 2 or Fib(n - 1) + Fib(n - 2)
#
Fib = lambda n: 1 if n <= 2 else Fib(n - 1) + Fib(n - 2) #
def Fib(n):
x, y = 0, 1
while(n):
x, y, n = y, x + y, n - 1
return x
#
Fib = lambda n, x = 0, y = 1 : x if not n else Fib(n - 1, y, x + y)
#
def Fib(n):
def Fib_iter(n, x, y):
if n == 0:
return x
else:
return Fib_iter(n - 1, y, x + y)
return Fib_iter(n, 0, 1)
#
def fib(n):
def m1(a,b):
m=[[],[]]
m[0].append(a[0][0]*b[0][0]+a[0][1]*b[1][0])
m[0].append(a[0][0]*b[0][1]+a[0][1]*b[1][1])
m[1].append(a[1][0]*b[0][0]+a[1][1]*b[1][0])
m[1].append(a[1][0]*b[1][0]+a[1][1]*b[1][1])
return m
def m2(a,b):
m=[]
m.append(a[0][0]*b[0][0]+a[0][1]*b[1][0])
m.append(a[1][0]*b[0][0]+a[1][1]*b[1][0])
return m
return m2(reduce(m1,[[[0,1],[1,1]] for i in range(n)]),[[0],[1]])[0]

2. FizzBuzz

print(' '.join(["fizz"[x % 3 * 4:]+"buzz"[x % 5 * 4:] or str(x) for x in range(1, 101)]))

3. Primes between 1 and 100

print(' '.join([str(item) for item in filter(lambda x: not [x % i for i in range(2, x) if x % i == 0], range(2, 101))]))
print(' '.join([str(item) for item in filter(lambda x: all(map(lambda p: x % p != 0, range(2, x))), range(2, 101))]))

4. Nine multiplication tables

print('\n'.join([' '.join(['%s*%s=%-2s' % (y, x, x*y) for y in range(1, x+1)]) for x in range(1, 10)]))

5. Flatten List

flatten = lambda x: [y for l in x for y in flatten(l)] if isinstance(x, list) else [x]

6.

print(sum(map(int, str(2**1000))))

7. Print Fibonacci

print([x[0] for x in [(a[i][0], a.append([a[i][1], a[i][0]+a[i][1]])) for a in ([[1, 1]], ) for i in range(30)]])

8. Quick Sort

qsort = lambda arr: len(arr) > 1 and qsort(list(filter(lambda x: x <= arr[0], arr[1:]))) + arr[0:1] + qsort(list(filter(lambda x: x > arr[0], arr[1:]))) or arr

9. Eight Queens

[__import__('sys').stdout.write('\n'.join('.' * i + 'Q' + '.' * (8-i-1) for i in vec) + "\n========\n") for vec in __import__('itertools').permutations(range(8)) if 8 == len(set(vec[i]+i for i in range(8))) == len(set(vec[i]-i for i in range(8)))]

10. Generate primes in one line: (181222)

reduce((lambda r,x: r-set(range(x**2,N,x)) if (x in r) else r), range(2,N), set(range(2,N)))

最新文章

  1. html-fieldset线中嵌套字符
  2. 初步了解JPA
  3. Kefa and Park
  4. jq中 load()方法 简介
  5. uva 165
  6. Java intern()方法
  7. UIAutomator 学习版
  8. iOS基础 - 第三方网络框架
  9. 标准IO库
  10. css颜色渐变在不同浏览器的设置
  11. 使用python制作ArcGIS插件(1)工具介绍
  12. 微信分享 JSSDK的使用
  13. git操作之上传gitthub
  14. 章节十、3-CSS Selector---用CSS Selector - ID定位元素
  15. 2018-10-04 [日常]用Python读取word文档中的表格并比较
  16. 查询redis数据
  17. syslog-ng内容讲解
  18. Unity shader学习之屏幕后期处理效果之运动模糊
  19. ethereumjs/ethereumjs-tx
  20. java中常用的16个工具类

热门文章

  1. 跨平台python异步回调机制实现和使用方法
  2. 深入理解红黑树及C++实现
  3. java:svn
  4. vscode 中sftp配置
  5. PJzhang:今天才搞清身份证、银行卡……的编码规则
  6. OpenStack组件——Glance镜像服务
  7. Linux C/C++基础 文件(中)
  8. 【并行计算-CUDA开发】Windows下opencl环境配置
  9. LINQ查询表达式详解(2)——查询表达式的转换
  10. linux c++模拟简易网络爬虫