第07讲 编程数学02
教练:老马的程序人生
微信:ProgrammingAssistant
博客:https://lsgogroup.blog.csdn.net/
讲课目录
- 常考的数学问题
- 项目制作:“求最大公约数”
- 项目制作:“求最小公倍数”
- 项目制作:“早餐组合”、“颜色搭配”
- 项目制作:“聪明的小猫”
编程数学
(1)奇数与偶数问题
(2)质数与合数问题
(3)拆数与拼数问题
(4)累加与累乘问题
(5)最大公约数与最小公倍数问题
(6)分步乘法计数原理
例如:完成一件事需两个步骤,第一步有 a a a种方法,第二步有 b b b种方法。则完成这件事一共有 a × b a \times b a×b种方法。
(7)分类加法计数原理
例如:完成一件事有两类方法,第一类有 a a a种方法,第二类有 b b b种方法。则完成这件事一共有 a + b a+b a+b种方法。
(8)其它问题
真题练习
01:由1,2,3,4,5,0这六个数字经过排列组合能够组成多少个六位数偶数?注意:每一位都不相同,最高位不能为0。( )
- A. 720
- B. 360
- C. 312
- D. 88
- 参考答案:C
- 试题解析:个位为0有120个偶数,个位为2有96个偶数,个位为4有96个偶数,一共120+96+96=312个偶数。
项目制作:“求最大公约数”
2022.03 编程题 求最大公约数
1. 准备工作
(1)保留默认白色背景和小猫角色。
2. 功能实现
(1)输入两个正整数;
(2)小猫说出这两个数的最大公约数。
3. 评分标准
(1)能够正确输入两个数字,保存到变量中;(2分)
(2)能够正确求出两个数的最大公约数,测试六组数据:2和10,10和2,13和17,17和13,12和18,18和12;(12分)
(3)使用连接讲答案说出。(1分)
项目制作:“求最大公约数”
2022.12 编程题 求最大公约数
如果6除以2的余数是0,那么我们就说2是6的约数。4除以4的余数是0,4也是4的约数。同理可以求出,4的约数有1、2和4,6的约数有1、2、3和6。两个数的最大公约数是指两个数相同的约数中最大的那一个,如4和6两个数的最大公约数是2。
辗转相除法求最大公约数的步骤如下:
正整数a和b(a>b),
步骤①:如果a除以b的余数m等于0,那么a和b的最大公约数是b。
步骤②:如果a除以b的余数m不等于0,那么将a的值设为b,将b的值设为m,重复进行步骤①。
请你根据上述方法编写程序求出两个整数的最大公约数。
1. 准备工作
(1)保留小猫角色,默认位置;
(2)白色背景。
2. 功能实现
(1)建立两个变量a和b,将这两个变量设为1至99之间的随机数;
(2)根据上面给出的步骤使用递归法,求这两个数a和b的最大公约数;
(3)最终小猫能正确说出这两个数的最大公约数,输出的格式为“最大公约数为X”,其中X为通过程序计算出来的两个数的最大公约数的值。
3. 评分标准
本题使用循环作答即扣4分,11分评分标准如下:
(1)在1至99之间取两个随机数;(2分)
(2)能判断余数为0,说出最大公约数;(3分)
(3)用循环没用自制积木递归的。(6分)
本题使用自制积木递归作答满分15分,15分评分标准如下:
(1)在1至99之间取两个随机数;(2分)
(2)能判断余数为0,说出最大公约数;(3分)
(3)能建自制积木;(6分)
(4)能在自制积木里改变参数调用自己。(4分)
项目制作:“求最小公倍数”
1. 准备工作
(1)保留默认白色背景和小猫角色。
2. 功能实现
(1)输入两个正整数;
(2)小猫说出这两个数的最小公倍数。
3. 评分标准
(1)能够正确输入两个数字,保存到变量中;(2分)
(2)能够正确求出两个数的最小公倍数,测试三组数据:2和10,13和17,12和18;(12分)
(3)使用连接将答案说出。(1分)
项目制作:“早餐组合”
2022.03 编程题 早餐组合
小猫家附近的早餐店会供应两种饮料和四种点心,饮料和点心只能各选一种,问共有多少种不同的早餐搭配?
饮料:豆浆,牛奶
点心:蛋糕、油条、饼干、面包
1. 准备工作
(1)保留舞台白色背景和默认小猫角色;
(2)建立名为“点心”、“饮料”和“方案”的列表。
2. 功能实现
(1)点击绿旗,两种饮料会被添加到列表“饮料”中,四种点心会被添加到列表“点心”中;
(2)编写程序将饮料和点心的全部组合保存到列表“方案”中;
(3)注意列表“方案”中的保存格式为 饮料名+点心名,如“豆浆蛋糕”。
3. 评分标准
(1)建立三个列表;(1分)
(2)将两种饮料和四种点心分别保存到对应的列表中,多次点击绿旗子,饮料和点心的数量都正确;(1分)
(3)使用嵌套循环,能利用变量控制内循环和外循环,不使用嵌套循环只得一半分。(8分)
项目制作:“颜色搭配”
2022.09 编程题 颜色搭配
某水杯有多种颜色供顾客挑选,杯身有黑、白2种颜色,杯盖有蓝、红2种颜色,杯带有紫、粉、黄3种颜色,该水杯可以搭配出多少种不同的颜色方案?
1. 准备工作
(1)保留默认白色背景和小猫角色;
(2)创建名为“杯身”、“杯盖”、“杯带”和“方案”的列表。
2. 功能实现
(1)点击绿旗,2种颜色添加到“杯身”列表,2种颜色添加到“杯盖”列表,3种颜色添加到“杯带”列表;
(2)请编写程序将杯身、杯盖和杯带的全部组合保存到列表“方案”中;
(3)列表“方案”中的保存格式为杯身颜色+杯盖颜色+杯带颜色,如“黑红黄”。
3. 评分标准
(1)创建4个列表;(1分)
(2)多次点击绿旗,杯身、杯盖、杯带3个列表中内容和数量正确;(2分)
(3)方案列表中显示正确的12项内容;(4分)
(4)使用循环嵌套的方法。(3分)
项目制作:“聪明的小猫”
2021.12 编程题 聪明的小猫
有3张卡片,每张卡片上面分别写着1、2、3,从中抽出一张、两张、三张,按任意次序排列起来,可以得到不同的一位数、两位数、三位数。请编写程序数出其中的偶数和奇数分别是多少个?
1. 准备工作
(1)保留小猫角色和白色背景。
2. 功能实现
(1)自制一个“初始化列表”的积木,将组合得到的一位数、两位数、三位数,一个一个加入到“组成的数”的列表中;
(2)点击绿旗,先初始化列表,再判断列表中每个数是奇数还是偶数,并记录判断结果;
(3)说出奇数的个数和偶数的个数。
3. 评分标准
(1)自制积木,删除列表所有项,并使用枚举法正确列出这3张牌能够组成的15个数;( 3分)
(2)能够正确判断奇偶数;(5分)
(3)正确说出奇数、偶数个数各1分。(2分)
其它问题
02:有94颗糖果,两人轮流拿,谁拿到最后一颗糖果谁输。条件是:每次最多拿5颗,最少拿1颗。问先拿的人怎样做才能保证获胜?( )
- A. 先拿的人第一次拿5颗糖果
- B. 先拿的人第一次拿4颗糖果
- C. 先拿的人第一次拿3颗糖果
- D. 先拿的人第一次拿2颗糖果
- 参考答案:C
- 试题解析:先拿的人(甲)获胜,即要求最后剩余1个糖果给乙方。只要让乙方拿糖果的时候是除以6余1的数就可以了。94-91=3,所以选C。
91 – 乙
90
.
.
.
13 – 乙
12
11
10
9
8
7 – 乙
6
5
4
3
2
1 – 乙
其它问题
03:现在有6个人在排队打水,他们打水需要的时间依次是3,9,6,2,4,5。如果可以改变他们的排队顺序,那么他们所有人等待打水的时间和最少为50。( )
- 正确
- 错误
- 试题解析:✓
- 参考答案:首先排序,序列为[2, 3, 4, 5, 6, 9]。5个人等待2秒,4个人等待3秒,3个人等待4秒,2个人等待5秒,1个人等待6秒,即10+12+12+10+6=50