蓝桥杯省赛真题2014年第五届Java本科B组
第02题——切面条
一根高筋拉面,中间切一刀,可以得到2根面条。
如果先对折1次,中间切一刀,可以得到3根面条。
如果连续对折2次,中间切一刀,可以得到5根面条。
那么,连续对折10次,中间切一刀,会得到多少面条呢?
答案是个整数,请通过浏览器提交答案。不要填写任何多余的内容。
思路
自己跟着画出连续对折3次的,为9根面条,通过两倍我们很容易想到规律二,通过猜想我们可以找到规律一。
规律一再提取就是1+2的n次方
代码
通过规律一直接就可以写出答案为1+2^10=1025
规律二可以通过代码得到答案为1025
package 第05届蓝桥杯省赛2014年;
public class Question02 {
public static void main(String[] args) {
int n = 10; //对折10次
int sum = 2; //对折0次sum等于2
for (int i = 1; i <= n; i++) {
sum = sum*2-1; //每一次的面条数为上一次的面条数x2-1
}
System.out.println(sum);
}
}