1. 相传古代印度国王舍罕要褒赏他的聪明能干的宰相达依尔(国际象棋发明者),问他需要什么,达依尔回答说:“国王只要在国际象棋的棋盘第一个格子上放一粒麦子,第二个格子上放二粒,第三个格子里放四粒,以后按此比例每一格加一倍数,一直放到64格(国际象棋棋盘是8×8=64格),我就感恩不尽,其他我什么也不要了.”国王想:“这有多少,还不容易!”让人扛来一袋小麦,但不到一会儿全用没了,再来一袋很快又没有了,结果全印度的粮食全部用完还不够,国王纳闷,怎样也算不清这笔账。请你设计一个算法,帮国王计算一下,共需多少粒麦子,写出程序。
2. 编程实现:用牛顿迭代法求下面方程在1.5附近的根:
1)在得到正确的结果后,请修改程序使所设的 初始值由1.5改变为100,1000,10000,再运行,观察结果,分析不同的 初始值对结果有没有影响,为什么?
2)修改程序,使之能输出迭代的次数和每次迭代的结果,分析不同的 初始值对迭代的次数有无影响。
3.(选做)编程实现:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少?
在得到正确结果后,修改题目,改为猴子每天吃了前一天剩下的一半后,再吃两个。请修改程序并运行,检查结果是否正确。
(提示:采取逆向思维的方法,从后往前推断。)