【蓝桥杯选拔赛真题68】python细胞分裂 第十五届青少年组蓝桥杯python选拔赛真题 算法思维真题解析

目录

python细胞分裂

一、题目要求

1、编程实现

2、输入输出

二、算法分析

三、程序编写

四、程序说明

五、运行结果

六、考点分析

七、 推荐资料

1、蓝桥杯比赛

2、考级资料

3、其它资料


python细胞分裂

第十五届蓝桥杯青少年组python比赛选拔赛真题

一、题目要求

(注:input()输入函数的括号中不允许添加任何信息)

1、编程实现

有1个细胞,从第二天开始,它每天早上会分裂出1个新的细胞(分裂这天算新细胞的第一天)每个新分裂的细胞从它出生的第 3天开始,每天早上也会分裂出 1个细胞。
请计算出到第 N(2≤N≤30)天晚上共有多少个细胞(假设细胞不会死亡)。
例如:N=5,第5 天晚上共有 8 个细胞。

2、输入输出

输入描述:只有一行,输入一个正整数 N(2≤N≤30)

输出描述:只有一行,一个整数,即到第 N 天晚上细胞的总个数

输入样例:

5

输出样例:

8

二、算法分析

  1. 题目相对而言难度不大,小朋友看到这种题目,认真分析相应的数据,可以找到一定的规律
  2. 从第三天开始可以看到,第三天是3个,等于第一天1个加上第二天2个
  3. 第四天是5个,等于第二天2个加上第三条3个
  4. 第五天是8个,等于第三天3个加上第四天5个
  5. 所以规律就是从第三天开始,之后的每一天都等于前一天加上前2天的和
  6. 本题的实现方法有很多种,小兔子老师这里采用递归的方式实现

三、程序编写

def cell_division(num):
    if num == 1:
        return 1
    if num == 2:
        return 2
    else:
        return cell_division(num-1) + cell_division(num-2)
    
n = int(input())
res = cell_division(n)
print(res)

四、程序说明

  1. 自定义了一个细胞分裂的函数cell_division
  2. 函数中有三个条件分支,当num等于1时,表示第一天,此时返回1,表示只有一个细胞。
  3. 当num等于2时,表示进行了一次分裂,此时返回2,表示有两个细胞
  4. 当num大于2时,意味着细胞进行了多次分裂,此时递归调用自己两次,并将两次的返回值相加,等于前一次分裂的细胞数量加上前两次分裂的细胞数量,即为当前分裂的细胞数量
  5. 主程序中通过输入一个整数n
  6. 然后调用cell_division函数计算最终的细胞数量,并将结果打印出来

五、运行结果

5

8

六、考点分析

难度级别:一般,这题相对而言还是有一点小难度,难在分析数据找到规律,具体主要考查如下:

  1. 学会分析题目,找到解题思路
  2. 学会简单的算法知识的应用
  3. input函数:Python 中 input() 函数接受一个标准输入数据,返回为 string 类型。
  4. int函数:强制将传入对象转换成整数类型
  5. 学会for循环的使用:for循环可以遍历任何有序的项及列表元素等等。
  6. range函数:rang(a,b),循环的时候是不包括b的,所以我们这个案例中要转变一下,要想包含b,就应该写成range(a,b+1)
  7. 学会if...条件判断语句的使用:满足条件才执行相应的程序
  8. 学会if...else双分支语句的使用:满足条件执行一种处理程序,不满足执行另一种处理程序
  9. 学会函数的定义和使用,尤其是递归函数的使用
  10. print函数:用于打印输出,最常见的一个函数。
  11. 充分掌握分支语句、循环语句和递归函数相关操作的使用

PS:方式方法有多种,小朋友们只要能够达到题目要求即可!

七、 推荐资料

1、蓝桥杯比赛

2、考级资料

3、其它资料

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-17 23:38:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-17 23:38:03       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-17 23:38:03       87 阅读
  4. Python语言-面向对象

    2024-03-17 23:38:03       96 阅读

热门阅读

  1. 169.多数元素

    2024-03-17 23:38:03       38 阅读
  2. python 基础练习题3

    2024-03-17 23:38:03       36 阅读
  3. mvcc介绍

    2024-03-17 23:38:03       42 阅读
  4. Linux内核开发与优化

    2024-03-17 23:38:03       46 阅读
  5. QT 状态机的使用

    2024-03-17 23:38:03       42 阅读
  6. 折半搜索 笔记

    2024-03-17 23:38:03       44 阅读
  7. [小程序开发] 组件生命周期

    2024-03-17 23:38:03       44 阅读
  8. 力扣爆刷第97天之hot100五连刷71-75

    2024-03-17 23:38:03       36 阅读
  9. 克服大型语言模型幻觉使用检索增强生成(RAG)

    2024-03-17 23:38:03       38 阅读
  10. Leetcode 1046. 最后一块石头的重量

    2024-03-17 23:38:03       41 阅读
  11. c# 的ref 和out

    2024-03-17 23:38:03       45 阅读
  12. 安卓UI面试题 45-50

    2024-03-17 23:38:03       41 阅读
  13. bootstrap精选模板tabler下载

    2024-03-17 23:38:03       40 阅读