这次将为大家带来蓝桥杯的一些基础算法题解,这些都是蓝桥杯的基础算法,对于小白来说可能会有一点太快,我们不急于求成,花点时间日积月累。
接下来我将为大家讲解蓝桥杯基础算法切面条
一根高筋拉面,中间切一刀,可以得到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
根面条
#include <stdio.h>
//先数学分析,再动手
int cut_noodles(int times)
{
int result = 2, t = 1;
for (int i = 0; i < times; i++)
{
result += t;
t = t * 2;
}
return result;
}
int main()
{
int result;
int times = 0;
result = cut_noodles(times);
printf( "对折 %d 次从中间切一刀得到的面条数是: %d\n", times, result);
return 0;
}
由上面代码运行得知,对折0次从中间切一次面条得到的腼面条数为2,对折一次为3,对折两次为5.....对折十次得到的面条数为1025。