蓝桥杯の切面条
2018-03-24 23:58
204 查看
一根高筋拉面,中间切一刀,可以得到2根面条。如果先对折1次,中间切一刀,可以得到3根面条。如果连续对折2次,中间切一刀,可以得到5根面条。那么,连续对折10次,中间切一刀,会得到多少面条呢?
static int fun(int n) {
if (n == 0)
return 2;
else
return 2 * fun(n - 1) - 1;
}
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();
System.out.println(fun(n));
}
}
解题思路
由于对折次数仅为10,数据规模并不大,可以通过手算简单的完成。对折0次,得到2根; 对折1次,得到2 * 2 - 1 = 3 对折2次,得到3 * 2 - 1 = 5 对折3次,得到5 * 2 - 1 = 9 对折4次,得到9 * 2 - 1 = 17 对折5次,得到17 * 2 - 1 = 33 对折6次,得到33 * 2 - 1 = 65 对折7次,得到65 * 2 - 1 = 129 对折8次,得到129 * 2 - 1 = 257 对折9次,得到257 * 2 - 1 = 513 对折10次,得到513 * 2 - 1 = 1025其实,上面的思路就是一种递归,可以把这种思想通过代码实现。解:public class Main {
static int fun(int n) {
if (n == 0)
return 2;
else
return 2 * fun(n - 1) - 1;
}
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();
System.out.println(fun(n));
}
}
相关文章推荐
- 蓝桥杯2014年C\C++A组-切面条
- 2014年第五届蓝桥杯c/c++本科B组切面条题目解读
- 切面条 蓝桥杯
- 切面条 蓝桥杯
- 2014年蓝桥杯之切面条
- 蓝桥杯-2014本科B-切面条
- 切面条 蓝桥杯
- 切面条---第五届蓝桥杯
- 蓝桥杯JAVA言语B组_切面条
- 切面条-第五届蓝桥杯c/c++B组
- 2014第五届蓝桥杯试题C/C++程序设计B组——切面条
- 【蓝桥杯】【切面条】
- 蓝桥杯——切面条
- 2014 蓝桥杯 预赛 c/c++ 本科B组 第二题:切面条(5' )
- 2014 蓝桥杯 预赛 c/c++ 本科B组 第二题:切面条(5' )
- 第五届蓝桥杯【省赛试题2】切面条
- 第五届蓝桥杯javaB组—切面条
- 蓝桥杯真题:(猜年龄,切面条,神奇算式)
- 蓝桥杯五2切面条递推公式
- 第五届蓝桥杯软件类省赛真题-C-A-2_切面条