Python 递归计算分数数列
C语言的课后习题
求数列:2/1,3/2,5/3,8/5,13/8,21/13,...前50项的和
数列规律:
第二项的分母是【前一项分子】
第二项的分子是【前一项分子与分母的和】
from fractions import Fraction def fn(x):
"""
计算每一项的值
"""
time = 1
fz = 2
fm = 1
if x == 1:return fz / fm
#if x == 1:return Fraction(fz, fm) 这句话是分数表示
else:
while time < x :
cost = fz + fm
fm = fz
fz = cost
time = time + 1
return fz / fm
#return Fraction(fz, fm) def sum_fn(x):
"""
递归计算,进行函数每一项的相加
"""
if x == 1:return 2
else:
return fn(x) + sum_fn(x-1) a = int(input("请输入连续加到的项数:"))
print(sum_fn(a))

Python 递归计算分数数列的更多相关文章
- C语言笔试经典--求分数数列的和
题目: 求数组的和 2 3/2 5/3 8/5 13/8 21/13 ... 求前20项的和 //求分数数列的和 #include<stdio.h> // ...
- python 递增递减数列
def is_arithmetic(l): delta = l[] - l[] ): ] - l[index] == delta): return False return True print(is ...
- python实现fibonacci数列的三种方法
第一种:递归法 def fibo(n): if n < 3: return 1 return fibo(n-1) + fibo(n-2) print(fibo(6)) 第二种:循环 def fi ...
- python 递归计算若干工作日后的日期
import datetime # 根据第一次计算出来的休息日数,计算还需要的工作日数.(递归调用) def get_next_date(self, start_date, weekend_days) ...
- C 语言实例 -求分数数列1/2+2/3+3/5+5/8+...的前n项和
程序分析:抓住分子与分母的变化规律:分子a:1,2,3,5,8,13,21,34,55,89,144...分母b:2,3,5,8,13,21,34,55,89,144,233...分母b把数赋给了分子 ...
- 软工第五次作业——Python效能分析之四则运算生成器
Github项目地址: https://github.com/JtvDeemo/elementary-arithmetic PSP PSP2.1 Personal Software Process S ...
- [python学习手册-笔记]003.数值类型
003.数值类型 ❝ 本系列文章是我个人学习<python学习手册(第五版)>的学习笔记,其中大部分内容为该书的总结和个人理解,小部分内容为相关知识点的扩展. 非商业用途转载请注明作者和出 ...
- 华南理工大学 Python第2章课后小测-1
1.(单选)"abc"的长度是3,"老师好"的长度是多少?(本题分数:4)A) 1B) 3C) 6D) 9您的答案:B 正确率:100%2.(单选)下面代码的 ...
- Python实验报告——第2章 Python语言基础
实验报告 [实验目的] 1.熟悉在线编程平台. 2.掌握基本的 python 程序编写.编译与运行程序的方法. [实验条件] 1.PC机或者远程编程环境 [实验内容] 1.完成第二章实例01-07,实 ...
随机推荐
- vue中Prop父子传值方法
在用vue做项目的过程中感觉很好玩,特做下笔记... 父组件中: <template> <div> <fpdx-modal :zbArr="polygonArr ...
- vue中,对象数组多层嵌套时,更新数据更新页面
vue中的对象和数组的元素直接赋值修改时,是不能响应到view中去的 1.对象更新 this.a={title:'列表1’}; this.a.title='列表2’; <h1>{{a.ti ...
- Dreamweaver编辑区下方的属性栏显示
显示属性栏 不小心关闭了Dreamweaver的属性栏,突然用到之后不知道怎么显示,此时需要两步:选择[窗口]工具栏,选择[属性]选项. 此时又可以看到编辑区下方的属性栏了,而且出于编写代码的需要可以 ...
- Windows中杀死占用某个端口的进程(转)
最近写项目,总是出现端口被占用的问题,原来傻傻的把电脑重启一下,终于有一天受不了了,想要想办法解决.刚开始从网上找了好多教程,发现不行.开始自己尝试,终于,成功的将占用端口的进程杀掉.在此记录下过程( ...
- help文档制作 chm
程序中的help文档制作 所用工具:HTML Help Workshop 文件包括:各个html文档,帮助页面的具体内容 hhc文档:help的目录文件 hhk文档:help的索引文件 MAP文件夹中 ...
- 8. 环境变量_数据库_mongoose的基本使用_模型对象的CRUD
1. 环境变量 系统环境(cmd)使用的变量/命令 能够让我们在cmd环境下运行指定的程序 用户环境变量 path(我们一般设置这个) 系统环境变量 path 过程: 当我们在cmd中输入一个指令 先 ...
- apt下载open-jdk8报错add-apt-repository: command not found
今天下载jdk8报错 在Ubuntu下,时不时会有这个错误的. add-apt-repository: command not found sudo apt-get install software- ...
- 一次Spring Bean初始化顺序问题排查记录
最近在使用Springboot的时候需要通过静态的方法获取到Spring容器托管的bean对象,参照一些博文里写的,新建了个类,并实现ApplicationContextAware接口.代码大致如下: ...
- Python自学知识点----Day03
cd指令说明 1).作用:切换工作目录. 2). 命令(注意空格) 含义 cd ~===cd 回到家目录 cd . ...
- EXSI6怎么设置虚拟机从光驱启动
EXSI在安装完系统以后会默认从磁盘启动,假如需要进入救援模式则需要设置成光驱启动 设置