您的位置:首页 > 编程语言 > C语言/C++

第七届蓝桥杯C/C++ A组 省赛

2016-03-20 15:28 274 查看
第七届蓝桥杯省赛结束了,趁着还有点印象,赶紧把答案记一下。

1、年龄,将父亲的年龄两个数字交换一下得到儿子的年龄,并且父亲的年龄减去儿子的年龄为27,求有几种情况(30 和3也算一种)。

#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
int ans=0;
for(int i=10;i<=100;i++)
{
int f1 = i/10;
int f2 = i%10;
int son = f2*10+f1;
if(i-son==27)
{
cout<<i<<" "<<son<<endl;
ans++;
}
}
cout<<ans<<endl;
system("pause");
return 0;
}


答案:7种

2、某君从某岁开始庆祝生日,几岁生日蛋糕上就插几根蜡烛,至今为止他一共用过236根蜡烛,求他是几岁开始庆祝生日的。

#include <iostream>
#include <cstdlib>
using namespace std;
int getsum(int start,int end)
{
int sum=0;
for(int i=start;i<=end;i++)
{
sum+=i;
}
return sum;
}
int main()
{
for(int i=1;i<=100;i++)
{
for(int j=1;j<=100;j++)
{
int sum = getsum(i,j);
if(sum==236)cout<<i<<" "<<j<<endl;
}
}
system("pause");
return 0;
}


答案:26岁

3、好像是给了一堆格子,要求用1到9填进去,并且相邻位置的数字不能相邻,这个没做出来………………

4、好像是代码填空吧,去掉数字的尾1,记得我写的是:

x&(x+1)

当时运行代码,确实实现了去掉尾1

5、代码填空,快速排序,这道题,如果知道快速排序的基本思想的话比较好想,当然题目描述里面其实说的就是它的思想,只是比较抽象

我写的是:

swap(a,p,j)

在机器上运行代码,确实实现了排序

6、后面的记不太清楚了,我记得有一道叫做寒假作业,是用1到13这13个数字构成加减乘除四个算式,并且不能重复使用数字。

我用的是暴力破解,直接六重循环,模拟每一个位置的数字,只要验证给出1到13中用掉了12个数字即认为符合要求,代码太长,不记得了,我求出来的应该是:

64

7、还有一个剪窗格的,从12个格子中剪出5个,并且要求这5个格子相连,当时也是用暴力算法,但是可能限定条件有问题因此,一直没调出来。

之后就是编程大题了,代码太长都不记得了………………………………
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  算法 蓝桥杯