题目:贴面条
一根高筋拉面,中间切一刀,可以得到2根面条。
如果先对折1次,中间切一刀,可以得到3根面条。
如果连续对折2次,中间切一刀,可以得到5根面条。 那么,连续对折10次,中间切一刀,会得到多少面条呢?
解题思路:
1、不对折(对折零次),从中间切一刀,得到 2 根面条,
2 = 2
2、对折一次,从中间切一刀,得到 3 根面条,3 = 2 + 2^0
3、对折两次,从中间切一刀,得到 5 根面条,5 = 2 + 2^0 + 2^1
4、对折三次,从中间切一刀,得到 9 根面条,9 = 2 + 2^0 + 2^1 + 2^2
…
11、对折十次,从中间切一刀,得到2 + 2^0 + 2^1 + 2^2 + ...... + 2^9
根面条
将目标对折次数带入方程式可得:
n=10
count=1+=1+1024=1025
Java代码方法一:
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
double n = sc.nextDouble();
sc.close();
double count =1+Math.pow(2, n);
System.out.println(count);
}
输出:
Java代码方法二:
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
sc.close();
int result = 2;//底数
int temp = 1;//用于缓存
for (int i = 0; i < n; i++) {
result += temp;
temp = temp * 2;
}
System.out.println(result);