1、求s=a+aa+aaa+aaaa+aa…a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
分析题目:
(1)、输入的数以及个数都由键盘控制,因此需要两个输入框
(2)、如果第一个数字输入为 n
第二个数字等于第一个数字的 n * 10 + n
第三个数字等于第二个数字的 (n * 10 + n) * 10 + n
第三个数字等于第二个数字的 ((n * 10 + n) * 10 + n) * 10 + n
由此,可写代码如下:
(1)、
(2)、
完整代码如下:
运行效果:
2、猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下 的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
分析:倒推法
已知最后一天还剩一个桃子,那么倒数第二天就还剩(1+1)* 2,个桃子,倒数第三天还剩((1+1)*2 + 1)* 2。。。。。依次类推,可写出如下代码:
效果如下:
3、有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?
分析:倒推法
第一个人10岁,第二个人大他两岁,那么第二个人10+2岁,第三个人大第二个人两岁,那么第三个人为10+2+2岁,依次类推,可写出如下代码:
效果图如下:
4、计算用户输入的数字的阶乘,例如用户输入的是5,则计算5的阶乘,5的阶乘为 5*4*3*2*1
分析:求输入数字的阶乘,那么先要给一个输入数据的弹框。假如用户输入的数字为n,那么阶乘为n*(n-1)*(n-2)*(n-3)*。。。(n-(n-1))
由此可写出如下代码:
运行效果为:
5、定义一个函数,返回1+1/3+1/5+1/7+….1/n的和
分析:
观察题目可以看出,第一个数为1/1,第二个数为1/3,第三个数为1/5.。。。依次类推,分子都为1,分母为前一个数分母加二,由此可以得到如下代码:
运行效果如下: