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个数: ...
随机推荐
- __str__与__repr__的触发顺序总结
1.__str__是个内置的方法,无需使用者去调用,其会在满足某一条件时自动触发.那么要触发它运行都有哪些条件呢? 有三种条件,分别为:print , str , %s 2.__repr__同样是个内 ...
- 【2019.7.15 NOIP模拟赛 T2】与非树(nand)(树形DP)
树形\(DP\) 实际上,这道题应该不是很难. 我们设\(f_{x,i,j}\)表示在以\(x\)为根的子树内,原本应输出\(i\),结果输出了\(j\)的情况数. 转移时,为了方便,我们先考虑与,再 ...
- 洛谷 P4290 [HAOI2008]玩具取名
传送门 思路 博客半年没更新了,来更新个博文吧 在\(dsr\)聚聚博客的帮助下,我用半个上午和一个中午的时间苟延残喘地完成了这道题 先是读题目读大半天,最后连个样例都看不懂 之后又是想思路,实在想不 ...
- 7.18 NOIP模拟测试5 星际旅行+砍树+超级树
T1 星际旅行 题意:n个点,m条边,无重边,有自环,要求经过m-2条边两次,2条边一次,问共有多少种本质不同的方案.本质不同:当且仅当至少存在一条边经过次数不同. 题解:考试的时候理解错题,以为他是 ...
- Web协议详解与抓包实战:HTTP1协议-HTTP 响应行(3)
一.HTTP 响应行 二.响应码分类:1xx 三.响应码分类: 2xx 1. 201 Created: 有新资源在服务器端被成功创建 2.207 Multi-Status:RFC4918 ,在 WEB ...
- [LeetCode] 70. Climbing Stairs 爬楼梯问题
You are climbing a stair case. It takes n steps to reach to the top. Each time you can either climb ...
- IDEA 部署Tomcat教程(透彻理解操作)
目录 首先我们看一下 IDEA 里的当前项目结构配置 设置 Web 资源目录和 Tomcat读取的 web.xml 配置文件 Tomcat 的 Run/Debug 配置 处理常见问题 Web资源找不到 ...
- JDK8过渡到JDK11
module-info 首先最大的难度就是module-info.java Java9 手把手教你实现模块化 后续我再找点详细的资料 中文API文档 其次是中文文档[感谢 译者wzjin https: ...
- com.sun.jdi.InvocationException occurred invoking
调试时候出现com.sun.jdi.InvocationException occurred invoking method 原因:因为hibernate的延迟加载引起 修改:修改hbm映射文件的对象 ...
- CentOS7 安装nginx-1.14.0
nginx源码包:http://nginx.org/en/download.html 1.安装gcc gcc是用来编译下载下来的nginx源码 yum install gcc-c++ 2.安装pcre ...