python-SZ斐波那契数列/更相减损数

一:SZ斐波那契数列
题目描述
你应该很熟悉斐波那契数列,不是吗?现在小理不知在哪里搞了个山寨版斐波拉契数列,如下公式:
F(n)=
{
$\ \ \ \ \ \ \ \ \ \ \ \ $ a,( n=1)
$\ \ \ \ \ \ \ \ \ \ \ \ $ b,( n=2)
$\ \ \ \ \ \ \ \ \ \ \ \ $ F(n−1)+F(n−2),(n>2并且n是奇数)
$\ \ \ \ \ \ \ \ \ \ \ \ $ F(n−1)+F(n−2)+F(n−3)(n>2并且n是偶数)
}
这里 a 和 b 是定值,现给出 a,b 和 n,你的任务是计算 F(n)。
输入格式
输入共 T+1 行。
第一行有一个正整数 T,表示测试实例的个数。
接下来 TT行,每行一个测试实例,每个测试实例包括三个正整数 a,b 和 n。
输出格式
对于每个测试实例,输出一行包含一个正整数 F(n)。
样例输入输出
样例输入

2
1 2 3
1 3 6
样例输出
3
24
数据范围
对于 100% 的数据,保证T≤10,a,b≤10,n≤30。
来源/分类(难度系数:二星
模拟 


完整代码展示:
def F(a,b,n):
       list_1=[a,b,a+b]
       begin=3
       while begin<n+1:
              if (begin+1)%2==0:                                               list_1.append(list_1[-1]+list_1[-2]+list_1[-3])
              elif (begin+1)%2==1:
                   list_1.append(list_1[-1]+list_1[-2])
              begin+=1
         return list_1[n-1]
m=int(input())
list_2=[]
for i in range(m):
      list_3=list(map(int,input().split()))
      list_2.append(list_3)
for i in range(0,len(list_2)):
      print(F(list_2[i][0],list_2[i][1],list_2[i][2]))

def F(a,b,n):list_1=[a,b,a+b]begin=3while begin<n+1:if (begin+1)%2==0:list_1.append(list_1[-1]+list_1[-2]+list_1[-3])elif (begin+1)%2==1:list_1.append(list_1[-1]+list_1[-2])begin+=1return list_1[n-1]
m=int(input())
list_2=[]
for i in range(m):list_3=list(map(int,input().split()))list_2.append(list_3)
for i in range(0,len(list_2)):print(F(list_2[i][0],list_2[i][1],list_2[i][2]))


代码解释:
“def F(a,b,n):
        list_1=[a,b,a+b]
        begin=3
        while begin<n+1:
               if (begin+1)%2==0:
         list_1.append(list_1[-1]+list_1[-2]+list_1[-3])
               elif (begin+1)%2==1:
                    list_1.append(list_1[-1]+list_1[-2])
               begin+=1
        return list_1[n-1]                                           ”,按照题意自定义一个函数F(),传递三个形参a,b,n,即斐波那契函数的第1项a,2项b和所求项n。(建立一个空列表list_1,将a,b,a+b分别作为list_1的第1,2,3项。令begin为循环密码子,当begin<n+1时:如果begin+1能被2整除,则将list_1后三项和添加进list_1末尾,否则将list_1后两项添加进list_1末尾。每循环一次,begin+1,直至begin==n+1,跳出整个while循环,最终返回list_1的末尾元素值)。
“m=int(input()) ”,导入用户输入的测试实例的个数m。
“list_2=[]
 for i in range(m):
       list_3=list(map(int,input().split()))
       list_2.append(list_3)                      ”,建立一个空列表list_2,循环m次:导入用户输入的a,b,n,并将其储存在列表list_3中,接着将list_3添加进list_2中。
“for i in range(0,len(list_2)):
       print(F(list_2[i][0],list_2[i][1],list_2[i][2])) ”,遍历list_2中的元素,将list_2[i][0]~list_2[i][2]作为实参传递进F()函数,并打印F()函数返回值。


运行效果展示:

a95024b579964f93b6816f27ede8e5b9.jpg

04380ed47b58467980e686c92e0df9cb.jpg 

 

 

 

 

二:更相减损数:
题目描述
利用更相减损术求两个整数的最大公约数,即每次将较大的数变成大数减去小数的值。
输入格式
输入两个正整数 m , n 。
输出格式
输出一个整数。
样例输入输出
样例输入

4 6
样例输出
2
数据范围
对于 100% 的数据,保证 1≤m,n≤106 。
来源/分类(难度系数:二星
递归 最大公约数 数学 


完整代码展示:

x,y=map(int,input().split())
if x > y:
     x,y=y,x
for fac in range(x,0,-1):
      if x % fac == 0 and y % fac == 0 :
           print('{}'.format(fac))
           break

x,y=map(int,input().split())
if x > y:x,y=y,x
for fac in range(x,0,-1):if x % fac == 0 and y % fac == 0 :print('{}'.format(fac))break


代码解释:
“x,y=map(int,input().split())
 if x > y:
      x,y=y,x                             ”,导入用户输入的两个正整数x,y,并判断x,y的·大小关系:如果x,y,则将x,y交换值(即保证x为x,y中最小值)。
“for fac in range(x,0,-1):
        if x % fac == 0 and y % fac == 0 :
             print('{}'.format(fac))
             break                                         ”,依次遍历x~1的所有数fac,并判断x,y是否同时能被fac整除,如果是:则打印fac,终止循环。


运行效果展示:

24bc38b3781e45819c459c21d1e592a7.jpg

 7937fe8bc6f04b45bede570b015a06ca.jpg

               (声明:以上内容均为原创) 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/428697.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

STM32 通过 SPI 驱动 W25Q128

目录 一、STM32 SPI 框图1、通讯引脚2、时钟控制3、数据控制逻辑4、整体控制逻辑5、主模式收发流程及事件说明如下&#xff1a; 二、程序编写1、SPI 初始化2、W25Q128 驱动代码2.1 读写厂商 ID 和设备 ID2.2 读数据2.3 写使能/写禁止2.4 读/写状态寄存器2.5 擦除扇区2.6 擦除整…

React组件如何暴露自身的方法

一、研究背景 最近遇到一个如何暴露React组件自身方法的问题。在某些时候&#xff0c;我们需要调用某个组件内部的方法以实现某个功能&#xff0c;因此我们需要了解如何暴露组件内部API的方法。 二、实践过程 本文主要介绍React组件暴露子组件API的方法&#xff0c;以下是实…

C++【类和对象】(一)

文章目录 前言1.类的定义1.1类定义格式1.2 访问限定符1.3 类域 2. 实例化2.1 实例化的概念2.2 对象大小 3.this指针结语 前言 在前文我们讲解了C基础语法知识。本文将会讲解C的类和对象。 1.类的定义 1.1类定义格式 class name {}&#xff1b;class为定义类的关键字&#x…

计算机网络传输层---课后综合题

线路&#xff1a;TCP报文下放到物理层传输。 TCP报文段中&#xff0c;“序号”长度为32bit&#xff0c;为了让序列号不会循环&#xff0c;则最多能传输2^32B的数据&#xff0c;则最多能传输&#xff1a;2^32/1500B个报文 结果&#xff1a; 吞吐率一个周期内传输的数据/周期时间…

网络协议全景:Linux环境下的TCP/IP、UDP

目录 1.UDP协议解析1.1.定义1.2.UDP报头1.3.特点1.4.缓冲区 2.TCP协议解析2.1.定义2.2.报头解析2.2.1.首部长度&#xff08;4位&#xff09;2.2.2.窗口大小2.2.3.确认应答机制2.2.4.6个标志位 2.3.超时重传机制2.4.三次握手四次挥手2.4.1.全/半连接队列2.4.2.listen2.4.3.TIME_…

加速开发体验:为 Android Studio 设置国内镜像源

Android Studio 是由 JetBrains 开发的一个官方 IDE&#xff0c;用于 Android 应用开发。由于网络原因&#xff0c;直接从 Google 的服务器下载可能会比较慢或者不稳定。幸运的是&#xff0c;我们可以通过配置国内镜像源来加速下载和更新。 文章目录 &#x1f4af; 修改 Gradle…

Python 从入门到实战23(属性property)

我们的目标是&#xff1a;通过这一套资料学习下来&#xff0c;通过熟练掌握python基础&#xff0c;然后结合经典实例、实践相结合&#xff0c;使我们完全掌握python&#xff0c;并做到独立完成项目开发的能力。 上篇文章我们讨论了类的定义、使用方法的相关知识。今天我们将学…

开源 AI 智能名片链动 2+1 模式 O2O 商城小程序在社群活动中的应用与时机选择

摘要&#xff1a;本文探讨了开源 AI 智能名片链动 21 模式 O2O 商城小程序在社群经济中的重要性&#xff0c;着重分析了如何借助该小程序适时举办大型活动以维持和引爆社群活跃度。通过对活动时机选择的研究&#xff0c;强调了针对社群用户量身定制活动时机的必要性&#xff0c…

GD32F103单片机-EXTI外部中断

GD32F103单片机-EXTI外部中断 一、EXTI及NVIC介绍二、编程实验2.1 相关库函数2.2 实验代码 一、EXTI及NVIC介绍 GD32和STM32的EXTI基本相似&#xff0c;具体见STM32F1单片机-外部中断GD32的EXTI包括20个相互独立的边沿检测电路请求产生中断或事件&#xff0c;4位优先级配置寄存…

C++中的new与delete

目录 1.简介 2.底层 1.简介 new是升级版的malloc&#xff0c;它会先开空间再去调用构造函数。 delete是升级版的free&#xff0c;它会先调用析构函数再free掉空间。 class A { public:A(int a10, int b10){a a1;b b1;}private:int a;int b; };int main() {//new会先开空间…

Java代码审计篇 | ofcms系统审计思路讲解 - 篇4 | XXE漏洞审计

文章目录 Java代码审计篇 | ofcms系统审计思路讲解 - 篇4 | XXE漏洞审计0. 前言1. XXE代码审计【有1处】1.1. 搜索JRXmlLoader1.1.1. JRAntApiWriteTask1.1.2. JRAntUpdateTask1.1.3. TableReportContextXmlRule1.1.4. JasperCompileManager【存在漏洞】 1.2. 搜索XMLReader1.2…

并查集LRU cache

并查集的定义 将n个不同的元素划分成一些不相交的集合。开始时&#xff0c;每个元素自成一个单元素集合&#xff0c;然后按一定的规律将归于同一组元素的集合合并。在此过程中要反复用到查询某一个元素归属于那个集合的运算。适合于描述这类问题的抽象数据类型称为并查集(unio…

Qt (19)【Qt 线程安全 | 互斥锁QMutex QMutexLocker | 条件变量 | 信号量】

阅读导航 引言一、互斥锁1. QMutex&#xff08;1&#xff09;基本概念&#xff08;2&#xff09;使用示例基本需求⭕thread.h⭕thread.cpp⭕widget.h⭕widget.cpp 2. QMutexLocker&#xff08;1&#xff09;基本概念&#xff08;2&#xff09;使用示例 3. QReadWriteLocker、QR…

string类(C++)

哈喽各位&#xff01;&#xff0c;久违了&#xff0c;最近怎么样捏&#xff0c;本次进入C的string类&#xff0c;加油加油呀&#xff01; 随记&#xff1a;鼓励创新&#xff0c;宽容失败&#xff01; 1.标准库的string类 1.1string类的了解 string的文献参考链接-->strin…

Buck变换器闭环控制,simulink仿真模型(适合初学者学习)

Buck变换器&#xff0c;又称为降压斩波器&#xff0c;是一种常见的DC-DC转换器&#xff0c;广泛应用于电源管理领域。它通过开关元件&#xff08;通常是MOSFET或BJT&#xff09;的导通与截止&#xff0c;改变输入电压到负载的平均电压&#xff0c;从而实现电压的降低。在实际应…

828华为云征文——使用Flexus云服务器X实例CentOS镜像下创建MySQL服务器教程

一、概述 1.1 前言 当前正值华为云盛大的828 B2B企业庆典&#xff0c;其中Flexus X实例的特惠活动尤为吸引人眼球。对于追求极致算力表现&#xff0c;并期望在自建MySQL数据库、Redis缓存系统及Nginx服务器部署上获得卓越性能的企业用户而言&#xff0c;这无疑是一个不可多得的…

SpringCloud (1) 服务拆解

1 服务拆解和治理 1.1 服务拆解 微服务的核心就是服务拆分,将传统的大项目拆分为多个微型服务(服务或微服务),实现服务之间"高内聚(微服务职责单一),低耦合(微服务功能相对独立)"的目的 (1) 水平(横向)拆分:先搭出拆分框架,比如【公共服务】(比如:common服务,client…

Python数据分析与可视化(Python绘图详解)

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…

轻量级流密码算法Trivium

轻量级流密码算法Trivium 0x0 Trivium算法简介 Trivium算法是由C&#xff0e;D Canniere和B&#xff0e;Preneel共同设计的一套对称加密算法&#xff0c;Trivium密码算法采用了分组密码和非线性反馈移位寄存器的设计思路。该密码算法总共288比特的内部状态&#xff0c;其中有…

数据篇| 关于Selenium反爬杂谈

友情提示:本章节只做相关技术讨论, 爬虫触犯法律责任与作者无关。 LLM虽然如火如荼进行着, 但是没有数据支撑, 都是纸上谈兵, 人工智能的三辆马车:算法-数据-算力,缺一不可。之前写过关于LLM微调文章《微调入门篇:大模型微调的理论学习》、《微调实操一: 增量预训练(Pretrai…