Python实现斐波那契数列,九九乘法表,金字塔方法。
斐波那契数列
普通函数实现
#普通函数
def fb(max):
a,b=0,1
while a<max:
print(a)
a,b=b,a+b fb(100)
递归实现方法1
def fb1(max,a=1,b=1):
if a<max:
print(a)
fb1(max,b,a+b)
fb1(1000,77,88)
递归实现方法2,写法最简洁,但是效率最低,会出现大量的重复计算
def function(n):
assert n >= 0, 'n > 0'
if n<= 1:
return n
return function(n-1) + function(n-2)
print(function(4))
for i in range(0,20):
print(function(i),end=',')
递推法,递推法,就是递增法,呈线性增长,如果数据量巨大,速度会越拖越慢
def function(n):
a,b = 0,1
for i in range(n):
a,b = b,a+b
return a
print(function(3))
生成器实现
def fib(max):
a,b = 0,1
while a<max:
yield a
a,b = b,a+b
fib_gt=fib(100)
#调用生成器,生成数列
print(next(fib_gt))
print(next(fib_gt))
金字塔
n = int(input('请输入你需要打印星星的层数:'))
for i in range(1, n + 1):
print(' ' * (n - (i - 1)) + '*' * (2 * i - 1))
乘法表 方向1
for i in range(1,10):
for j in range(1,i+1):
d = i * j
print('%d*%d=%-2d'%(i,j,d),end = ' ' )
print()
方向二
def hanshu(n):
m = n
sums = 0
for j in range(1,n+1):
sums = m*j
print("%d*%d=%-2d"%(m,j,sums),end = " ")
print("")
def hanshu1():
for i in range(9,0,-1):
hanshu(i)
hanshu1()
方向三
def hanshu(n):
m = n
sums = 0
for k in range(0,10-n):
print(" ",end = "")
for j in range(1,n+1):
sums = m*j
print("%d*%d=%-2d"%(m,j,sums),end = " ")
print("") def hanshu1():
for i in range(1,10):
hanshu(i) hanshu1()
方向四
def hanshu(n):
for dix in range(10-n,0,-1):
print(" ",end = "")
sums = 0
m = n
for j in range(1,n+1):
sums = m*j
print("%d*%d=%-2d"%(m,j,sums),end = " ")
print("")
def hanshu1():
for i in range(9,0,-1):
hanshu(i)
hanshu1()
done。
Python实现斐波那契数列,九九乘法表,金字塔方法。的更多相关文章
- python实现斐波那契数列(Fibonacci sequence)
使用Python实现斐波那契数列(Fibonacci sequence) 斐波那契数列形如 1,1,2,3,5,8,13,等等.也就是说,下一个值是序列中前两个值之和.写一个函数,给定N,返回第N个斐 ...
- Python中斐波那契数列的四种写法
在这些时候,我可以附和着笑,项目经理是决不责备的.而且项目经理见了孔乙己,也每每这样问他,引人发笑.孔乙己自己知道不能和他们谈天,便只好向新人说话.有一回对我说道,“你学过数据结构吗?”我略略点一点头 ...
- python基础----斐波那契数列
python实现斐波那契数列的三种方法 """ 斐波那契数列 0,1,1,2,3,5,8,13,21,... """ # 方法一:while ...
- 斐波那契数列 矩阵乘法优化DP
斐波那契数列 矩阵乘法优化DP 求\(f(n) \%1000000007\),\(n\le 10^{18}\) 矩阵乘法:\(i\times k\)的矩阵\(A\)乘\(k\times j\)的矩 ...
- Python中斐波那契数列的赋值逻辑
斐波那契数列 斐波那契数列又称费氏数列,是数学家Leonardoda Fibonacci发现的.指的是0.1.1.2.3.5.8.13.21.34.······这样的数列.即从0和1开始,第n项等于第 ...
- python实现斐波那契数列
https://www.cnblogs.com/wolfshining/p/7662453.html 斐波那契数列即著名的兔子数列:1.1.2.3.5.8.13.21.34.…… 数列特点:该数列从第 ...
- python实现斐波那契数列笔记
斐波那契数列即著名的兔子数列:1.1.2.3.5.8.13.21.34.…… 数列特点:该数列从第三项开始,每个数的值为其前两个数之和,用python实现起来很简单: a=0 b=1 while b ...
- [Python3.X]python 实现斐波那契数列
斐波那契数列(Fibonacci sequence),又称黄金分割数列.因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一 ...
- Python——通过斐波那契数列来理解生成器
一.生成器(generator) 先来看看一个简单的菲波那切数列,出第一个和第二个外,任意一个数都是由前两个数相加得到的.如:0,1,1,2,3,5,8,13...... 输入斐波那契数列前N个数: ...
随机推荐
- 为什么accpet会重新返回一个套接字
在服务器端,socket()返回的套接字用于监听(listen)和接受(accept)客户端的连接请求.这个套接字不能用于与客户端之间发送和接收数据. accept()接受一个客户端的连接请求,并返回 ...
- ASP.NET Core Windows 环境配置
ASP.NET Core 是对 ASP.NET 有重大意义的一次重新设计.本章节我们将介绍 ASP.NET Core 中的一些新的概念和它们是如何帮助我们开发现代化的 Web 应用程序 尽管 ASP. ...
- 【转】java 泛型详解
java 泛型详解 对java的泛型特性的了解仅限于表面的浅浅一层,直到在学习设计模式时发现有不了解的用法,才想起详细的记录一下. 本文参考java 泛型详解.Java中的泛型方法. java泛型详解 ...
- [LeetCode] 305. Number of Islands II 岛屿的数量之二
A 2d grid map of m rows and n columns is initially filled with water. We may perform an addLand oper ...
- java语言规范
一.标志符 命名规则: 标识符由26个英文字符大小写(a~zA~Z).数字(0~9).下划线(_)和美元符号($)组成. 不能以数字开头,不能是关键字 严格区分大小写 标识符的可以为任意长度 命名规范 ...
- win10配置jdk1.8环境变量
1,安装好jdk之后,目录如下 2,右键计算机 - 属性 - 高级系统设置 3,环境变量 4,新增系统变量JAVA_HOME,输入内容D:\work\Program Files\Java\jdk1.8 ...
- springboot kafka生产者
pom文件: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http ...
- Spring中抽象类中使用EmbeddedValueResolverAware和@PostConstruct获取配置文件中的参数值
我的需求: 我有一个 abstract class 中包含了很多子类中需要用到的公共方法和变量,我想在抽象类中 使用@Value获取*.properties中的值.但是@Value必须要在Spring ...
- Sentry异常捕获平台
本文包括Sentry平台的介绍,以及环境搭建两部分,更多细节请查阅官方文档. 简介 Sentry是一个实时事件的日志聚合平台.它专门监测错误并提取所有有用信息用于分析,不再麻烦地依赖用户反馈来定位问题 ...
- nodejs anywhere 搭建本地静态文件服务
一.背景 工作中有时候往往会遇到下述场景:例如需要将新打好的安装包等文件临时性的给到同事,可能还需要给到多个同事.这时,我们往往有如下几种方案: 1,一般都会有公司内部的文件系统,上传文件后将对应的地 ...