文章目录[隐藏]
数学经典算法,易语言采用推导法解决奶牛问题。
一个农场有头母牛,现在母牛才一岁,要到四岁才能生小牛,四岁之后,每年生一头小牛。
假设每次生的都是母牛,并且也遵守4年才生育并生母牛的原则。
问n年之后多少头牛?
问题分析:
因为初试奶牛已经1岁,可以将规律计算为:
年数: 1 2 3 4 5 6 7 8 9 10
奶牛年龄 2 3 4 5 6 7 8 9 10 11
牛: 1 1 2 3 4 5 7 10 14 19
通过上面规律可以推导出结果。
前台执行源码
窗口需要两个编辑框,一个输入多少年,一个显示结果。
.版本 2 .子程序 _计算图形按钮_被单击 .局部变量 年数, 整数型, , , 保存年编辑框的数字 .局部变量 奶牛数量数组, 整数型, , "0", 数组成员数量为奶牛数量,成员内容为奶牛出生年份 .局部变量 计算数量, 整数型, , , 数组成员位置 .局部变量 计次变量, 整数型 ' 判断输入的数值是否超出范围 .判断开始 (到数值 (输入年编辑框.内容) ≤ 0) 信息框 (“您输入的数太小了,必须大于0,”, #错误图标, “出现错误了:”) 返回 () .判断 (到数值 (输入年编辑框.内容) > 40) .如果真 (信息框 (“您输入的数值过大,计算将耗费一定的时间,是否继续?”, #询问图标 + #是否钮, “询问:”) = #否钮) 返回 () .如果真结束 .默认 .判断结束 年数 = 到数值 (输入年编辑框.内容) 计算数量 = 1 加入成员 (奶牛数量数组, 2) ' 第一头奶牛第一年为2岁 .判断循环首 (计算数量 ≤ 取数组成员数 (奶牛数量数组)) ' 判断是否还有奶牛需要计算 .计次循环首 (年数 - 奶牛数量数组 [计算数量], 计次变量) ' 计算每一头奶牛在年数内能生多少头 加入成员 (奶牛数量数组, 奶牛数量数组 [计算数量] + 4 + 计次变量 - 1) ' 用循环增加每一头奶牛,将奶牛出生年份加入 ' 每头奶牛生的第一头奶牛的出生年份为他自己的年份+4,以后每头累加1 .计次循环尾 () 计算数量 = 计算数量 + 1 .判断循环尾 () 显示个数编辑框.内容 = 到文本 (取数组成员数 (奶牛数量数组))