本文主要是介绍蓝桥杯2014年第十三届省赛真题-切面条,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、题目
切面条
一根高筋拉面,中间切一刀,可以得到2根面条。
如果先对折1次,中间切一刀,可以得到3根面条。
如果连续对折2次,中间切一刀,可以得到5根面条。
那么,连续对折10次,中间切一刀,会得到多少面条呢?
答案是个整数,请通过浏览器提交答案。不要填写任何多余的内容。
二、分析
对折次数 | 得到面条数 |
0 | 2 |
1 | 3=2+1=2+2^0 |
2 | 5=2+1+2=2+2^0+2^1 |
3 | 9=2+1+2+4=2+2^0+2^1+2^2 |
4 | 2+1+2+4+8=17 |
再找到规律之后,我们要用循环来计算当对折次数为10的时候,能有多少面条数,初始化sum=2,用来存最终的面条数对折次数为1,我们加的是2的0次方,对折次数为2的时候,我们往之前的sum加的是2的次方,所以循环从0~9.i不是对折次数,而是2的i次方,i到9的原因是:对折次数正好比次方数大了个1
代码:
package lan2014;public class B武功秘籍 {public static void main(String[] args) {int sum = 2;for(int i = 0; i <=9; i++) {//i不是对折次数,而是2的i次方,i到9的原因是:对折次数正好比次方数大了个1sum += Math.pow(2,i);}System.out.println(sum);}
}
运行结果:1025
这篇关于蓝桥杯2014年第十三届省赛真题-切面条的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!