【蓝桥杯选拔赛真题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. 本题的实现方法有很多种,小兔子老师这里采用递归的方式实现

三、程序编写

python 复制代码
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函数计算最终的细胞数量,并将结果打印出来

五、运行结果

python 复制代码
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、其它资料

相关推荐
小兔子编程3 个月前
【蓝桥杯省赛真题48】python最大矩形面积 中小学青少年组蓝桥杯比赛 算法思维python编程省赛真题解析
蓝桥杯·蓝桥杯python真题·python蓝桥杯省赛真题·python最大矩形面积·python省赛真题·蓝桥杯python省赛真题·python信息素养题
小兔子编程7 个月前
【蓝桥杯省赛真题38】python字符串拼接 中小学青少年组蓝桥杯比赛 算法思维python编程省赛真题解析
python·蓝桥杯·python编程·中小学python·python字符串拼接·python连接字符串·python蓝桥杯省赛真题