解题思路

倒推,和题目反着来

思路解释

如果N为3

答案(1)+1-> 2 *2->4 +1->5 *2->10 +1->11 *2 ->22(共重复执行3次)

因为在最后一次的时候多乘2和多加1,所以要在最后除2减1

主要代码

int tao = 1;//桃子的个数
int tian;//循环的天数
cin>>tian;
for(int i = 0;i < tian;i++)
{
	tao += 1;
	tao *= 2;
}
tao /= 2;//做最后的处理
tao--;//做最后的处理
cout<<tao;

反应快一点的朋友们就可以想到最后的处理部分和for循环部分可以简化

变为

for(int i = 0;i < tian - 1;i++)
{
	tao += 1;
	tao *= 2;
}

然后删去最后的处理

简化后的完整代码如下

完整代码

#include<iostream>
using namespace std ;
int main()
{
	int tao = 1;
	int tian;
	cin>>tian;
	for(int i = 0;i < tian - 1;i++)
	{
		tao += 1;
		tao *= 2;
	}
	cout<<tao;
}

最后附送比赛改代码好方法

屏幕截图 2021-02-18 204328.png

如图,我没加最后的处理,导致运行结果出错

我一时没想起来要加最后的处理

但我发现3070除以二时1535,和答案1534很像

屏幕截图 2021-02-18 204711.png

于是我加了14-15行

结果使人震惊

梦寐以求的1534就是这样地出现在了我面前

然后我就开始简化代码,简化成上面所说


这是我做这题地亲身经历,在比赛中很有用,希望能帮到大家!

求五星

点赞(0)
 

0.0分

2 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论