“蓝桥杯”软件设计大赛辅导—林显宁
---编程中常遇到的数学问题1
1.加减乘除
举例如下,求 1~100的和。 方法A:
int I , j;
for (I = 1 ;I<=100; I ++) {
j += I; }
方法B int I; I = (100 * (1+100)) / 2 小结:要记住一些常用的数学公式,比如求根公式、排列组合公式、面积公式、数列中的求和公式、勾股定律等。 (1)求根公式:ax2+bx+c=0(a≠0) x1\\2?b?b2?4ac2?(b?4ac?0) 2a(2)排列与排列数 :从n个不同元素中,任取m(m≤n)个元素(被取出的元素各不相同),按照一定的顺序排成一列,叫做从n个不同元素中取出m个元素的一个排列。从n个不同元素中取出m(m≤n)个元素的所有排列的个数,叫做从n个不同元素中取出m个元素的排列数。用符号A(n,m) 表示。
(3)组合与组合数:从n个不同元素中,任取m(m≤n)个元素并成一组,叫做从n个不同元素中取出m个元素的一个组合;从n个不同元素中取出m(m≤n)个元素的所有组合的个数,叫做从n个不同元素中取出m个元素的组合数。用符号c(n,m) 表示。
实战练习: 【问题描述】
自定义m,n两个数,求其组合,即m个数中选n个数进行组合,有多少组。 【输入格式】
第一行为整数m,表示数的个数。
第二行为整数n,表示从m个数中选n个数。 【输出格式】
输出一行,即m个数中选n个数进行组合有多少组。
“蓝桥杯”软件设计大赛辅导—林显宁
样例输入 5 2 样例输出 10
2. 模运算 — 模运算是用来计算余数,它的符号通常用%百分号来表示。所以23除以7等于3,余数是2。23 mod 7 = 2。
应用:判断是奇数还是偶数的模运算 — 如果你想知道一个数是奇数还是偶数,用它mod 2来作模运算。如果结果是0,它就是偶数。如果结果是1,就是奇数。23 mod 2等于1,所以23是奇数,24 mod 2等于0,24是偶数。 3.利率的计算 例题:
该存多少钱?
假设银行一年整存零取的月息为0.63%。现在某人手中有一笔钱,他打算在今后的五年中的年底取出1000元,到第五年时刚好取完,请算出他存钱时应存入多少?
*问题分析与算法设计
分析存钱和取钱的过程,可以采用倒推的方法。若第五年年底连本带息要取1000元,则要先求出第五年年初银行存款的钱数: 第五年初存款=1000/(1+12*0.0063)
依次类推可以求出第四年、第三年......的年初银行存款的钱数: 第四年年初存款=(第五年年初存款+1000)/(1+12*0.0063) 第三年年初存款=(第四年年初存款+1000)/(1+12*0.0063) 第二年年初存款=(第三年年初存款+1000)/(1+12*0.0063) 第一年年初存款=(第二年年初存款+1000)/(1+12*0.0063) 通过以上过程就可以很容易地求出第一年年初要存入多少钱。 *程序与程序注释 #include
int i;
float total=0;
“蓝桥杯”软件设计大赛辅导—林显宁
for(i=0;i<5;i++) /*i 为年数,取值为0~4年*/
total=(total+1000)/(1+0.0063*12); /*累计算出年初存款数额,第五次的计算
结果即为题解*/ printf(\} *运行结果
He must save 4039.44 at first
实战练习:
利息计算
小李年初在银行存款1千元(一年定期)。他计划每年年底取出100元救助失学儿童。假设银行的存款利率不变,年利率为3%,年底利息自动计入本金。下面的代码计算5年后,该账户上有多少存款。试填写缺失的代码。
把填空的答案(仅填空处的答案,不包括题面)
double money = 1000; int n = 5; int i;
for(i=0; i printf(\ money = _______________; money -= 100; 4.最小公倍数与最大公约数● (1)公约数:几个自然数公有的约数,叫做这几个自然数的公约数。公约数中最大的一个称为这几个自然数的最大公约数。 (2)公倍数:几个自然数公有的倍数,叫做这几个自然数的公倍数。公倍数中最小的一个大于零的公倍数,叫做这几个自然数的最小公倍数。 最小公倍数的算法: 最小公倍数=两整数的成绩/最大公约数 最大公约数的算法: (1)辗转相除法: 有两整数a和b: ① a%b得余数c “蓝桥杯”软件设计大赛辅导—林显宁 ② 若c=0,则b即为两数的最大公约数 ③ 若c≠0,则a=b,b=c,再回去执行① 例如求27和15的最大公约数过程为: 27÷15 余12 15÷12余3 12÷3余0因此,3即为最大公约数 ⑵ 相减法 有两整数a和b: ① 若a>b,则a=a-b ② 若a ③ 若a=b,则a(或b)即为两数的最大公约数 ④ 若a≠b,则再回去执行① 例如求27和15的最大公约数过程为: 27-15=12( 15>12 ) 15-12=3( 12>3 ) 12-3=9( 9>3 ) 9-3=6( 6>3 ) 6-3=3( 3==3 ) 因此,3即为最大公约数 ⑶穷举法 有两整数a和b: ① i=1 ② 若a,b能同时被i整除,则t=i ③ i++ ④ 若 i <= a(或b),则再回去执行②
相关推荐: