循环基础算法题(求s=a+aa+aaa+aaaa+aa…a的值、猴子吃桃问题、计算年龄、阶乘、定义一个函数,返回1+1/3+1/5+1/7+….1/n的和)

  • Post author:
  • Post category:其他


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,分母为前一个数分母加二,由此可以得到如下代码:

运行效果如下:



版权声明:本文为m0_45251955原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。