一根高筋拉面,中间切一刀,可以得到 2 根面条。
如果先对折 1 次,中间切一刀,可以得到 3 根面条。
如果连续对折 2 次,中间切一刀,可以得到 5 根面条。
那么,连续对折 10 次,中间切一刀,会得到多少面条呢?
答案是个整数,请通过浏览器提交答案。不要填写任何多余的内容。
解题思路
显然我们从题目中可以看到这是一个规律题,根据题目所给出前三次的面条数,我们可以画图推出,连续对折4次的,再切一刀的面条数为9根。所以可以得到数列2,3,5,9···
由此我们得到规律
对折1次:2+20=3
对折2次:3+21=5
对折3次:5+22=9
……
代码实现
#include<stdio.h>
#include<math.h>
int main()
{
int i=2,a=2;
for(int j=0;j<=9;j++)
{
i=i+pow(a,j); //利用pow函数求指数的值
}
printf("%d\n",i);
return 0;
}
也可以这样写,我们还可以发现一个规律
对折1次:2×2-1=3
对折2次:3×2-1=5
对折3次:5×2-1=9
……
#include<stdio.h>
int main()
{
int i,j=2;
for(i=1;i<=10;i++)
{
j=j*2-1;
}
printf("%d\n",j);
}