题目描述
切面条
一根高筋拉面,中间切一刀,可以得到2根面条。
如果先对折1次,中间切一刀,可以得到3根面条。
如果连续对折2次,中间切一刀,可以得到5根面条。
那么,连续对折10次,中间切一刀,会得到多少面条呢?
答案是个整数,请通过浏览器提交答案。不要填写任何多余的内容。
解题思路
我们很容易可以得到一个数列a(0)=2,a(1)=3,a(2)=5,a(3)=9,a(4)=17……
第一种方法
我们可以认为这是一个类等比数列,可以认为a(n)=2n+1,进而得到a(10)=210+1=1025
第二种方法
我们也可以发现a(1)=2a(0)-1,a(2)=2a(1)-1……
总结得到a(n)=2a(n-1)-1
参考代码
public class Test {
public static void main(String[] args) {
int count = 2;
int n=10;
for (int i = 1; i < n+1; i++) {
count=2*count-1;
}
System.out.println(count);
}
}
答案:1025