切面条(C语言)

一根高筋拉面,中间切一刀,可以得到 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);
}
发布了36 篇原创文章 · 获赞 5 · 访问量 1027

猜你喜欢

转载自blog.csdn.net/matchless_QYW/article/details/104362501