C语言小程序之一起切皮筋

题目:

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


分析

刚看到这个题目我感觉题目错了,对折一次切一刀得到的难道不是4根吗?

当我智障般发问以后突然意识到,题目没错,是我智障了。

皮筋对折一次以后有一端是连着的,所以切之后少了一根。

皮筋对折两次时,有三端是连着的,所以切之后少了三根。


开战

于是:
折数=上一次折数+上一次层数
层数=上一次层数2
条数=层数2-折数

代码:

int main()
{
// 对折次数
int n=10, cen = 1, zhe = 0;
for(int i=0; i<n; i++)
{
zhe += cen;
cen *= 2;
}
printf("%d", cen*2-zhe);
}

结果:


图片发自简书App
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容