蓝桥杯基础-【切面条】不用画图的解题思路

蓝桥杯基础-【切面条】不用画图的解题思路_第1张图片

我们先来看【切面条】的题目:

一根高筋拉面,中间切一刀,可以得到2根面条。
如果先对折1次,中间切一刀,可以得到3根面条。
如果连续对折2次,中间切一刀,可以得到5根面条。 
那么,连续对折10次,中间切一刀,会得到多少根面条呢?

解题思路:

当我们拿到一道算法题目的时候,首先对其进行数学分析。既然是算法题目,肯定在数学范畴内,而数学范畴内的事物都是有规律可循的。而你,只需要仔细审题,让规律出现在眼前。

题目中所求为【连续对折10次,中间切一刀,会得到多少根面条?】,开始进行数学分析:求的是对折次数与面条根数之间的关系,因为切刀数为常数,总是为1。然后列队:

  1. 对折1次,得到3根面条;
  2. 对折2次,得到5根面条;
  3. 对折10次,得到?根面条;

规律找到了,每对折n次,得到面条的数目为 2n+1 ,所以对折10次,得到的结果为 2x10+1=21

你高兴的拿着解出的题目去讨老师欢心,然后老师一个 DBD 就对你幼小的心灵造成了深深的伤害,但你很坚强。这时候你又去仔细审了一下题目,还是不明所以。最终,你还是去百度搜索了这篇博文 蓝桥杯基础-【切面条】的解题思路,图都不用画 。

正确的解题思路:

当你看到这种题目时,一定要仔细审题,不要被表象所迷惑,求的是对折10次之后的结果;但是对折0次也是对折,也在规律之内。所以从新列队:

  1. 对折0次,得到2根面条;
  2. 对折1次,得到3根面条;
  3. 对折2次,得到5根面条;
  4. 对折10次,得到?根面条;

这时候你发现前面所寻到的规律不适用了,因为对折0次时,2n+1求出的值为1,与题目【对折0次,中间切一刀,可以得到2根面条】的结果不相等。这时,你恍然大悟,一拍脑门,大喊一声:mlgbzd,原来规律是幂次方

当有3项结果被确定时,基本是寻到了规律。

  1. 对折0次,得到 2º+1=2;
  2. 对折1次,得到 2¹+1=3;
  3. 对折2次,得到 2²+1=5;
  4. 对折10次,得到 2¹º+1 = 1025;
// n为对折次数
function getNoodlesSplit(n){
	return 2**n + 1;
}
let result = getNoodlesSplit(10);
console.log(result); // 1025

你可能感兴趣的:(蓝桥杯,蓝桥杯,职场和发展,切面条,幂次方规律)