内容正文:
3.2
算法及其描述
1
什么是算法
2
算法的描述
CONTENT
3.2.1 算法
高一(1)班下周要利用班会课举行班级活动,班主任给了班长50元,请他负责购买一些零食。班长到了小卖部,发现有三种小零食可以选择,价格分别是6元、5元和4元。他希望每种零食都买一点,且正好把班主任给的50元全部花光,那么他有多少种购买方案呢?
想一想
6元
5元
4元
3.2.1 算法
6元
5元
4元
50元
x包
y包
z包
6x+5y+4z=50
有多少组 解?
正整数
3.2.1 算法
6x+5y+4z=50有多少组正整数解?
想一想
这个问题能用数学中解三元一次方程式的方法求解吗?为什么?
有什么办法可以求解这个问题呢?
x、y、z的取值范围分别是多少?
1
2
1 ≤ x ≤ 8 1 ≤ y ≤10 1 ≤ z ≤12
3
1 ≤ x ≤ 6 1 ≤ y ≤ 8 1 ≤ z ≤ 9
3.2.1 算法
6x+5y+4z=50有多少组正整数解?
1 ≤ x ≤ 8 1 ≤ y ≤10 1 ≤ z ≤12
6× +5× +4× =50
x
y
z
t(正整数解的个数)
1
1
1
0
2
3
…
12
2
1
…
12
…
1
10
2
1
12
1
当等式成立时,t=t+1
…
…
…
8
10
12
输出 t 的值
既要保证所有组合都试过,又要避免重复代入某些组合
3.2.1 算法
求方程6x+5y+4z=50有多少组正整数解
t=0;
x=1;
y=1;
z=1;
如果满足式子6x+5y+4z=50,则解的个数加1,即t=t+1(表示把右边式子的值赋给左边式子),并输出这个解(即t,x,y,z的值);
z=z+1;
如果z≤12,则跳转到步骤⑤,否则继续步骤⑧
y=y+1;
如果y≤10,则跳转到步骤④,否则继续步骤⑩
x=x+1;
如果x≤8,则跳转到步骤③,否则继续步骤⑫
结束
7
3.2.1 算法
1
算法
算法是指在有限的步骤内求解某一问题所使用的一组定义明确的规则。
通俗地说,算法就是计算机求解某一问题的方法,是能被机械地执行的动作或指令的有穷集合。
生活中的“算法”
制作美食
组装家具
算法有哪些特征?
3.2.1 算法
2
算法的特征
有穷性
确定性
数据输入
数