大家好,今天给各位分享2016年第七届蓝桥杯C/C++程序设计B组省级竞赛回顾的一些知识,其中也会对进行解释,文章篇幅可能偏长,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在就马上开始吧!
方法:暴力循环
容易知道,每层的层数就是上一层的煤球数加上本层的层数。代码如下:
#include#includeusing 命名空间std;
int main()
{
int i=0,sum=0,num=0; //sum为煤球总数,num为当前层的煤球数量
for(i=1;i=100;i++)
{
数+=i;
总和+=数字;
}
printf("%dn",sum); //cout问题2:生日蜡烛
某人从某年开始,每年都举办生日聚会,每次都吹灭与自己年龄相同数量的蜡烛。
现在算起来,他一共吹灭了236支蜡烛。
请告诉我,他几岁开始举办生日聚会?
请填写他开始举办生日聚会的年龄。
注意:您提交的内容必须是整数,不要填写任何多余的内容或说明性文字。
答案:26
方法:暴力枚举,代码如下:
#includeusing命名空间std;
int main()
{
int i,j,num;
//假设有人在i岁的时候开始庆祝他的生日,现在他已经j岁了
//num是吹灭的蜡烛数量
for(i=1;i100;i++)
{
for(j=1;j100;j++)
{
num=(i+j)*(j-i+1)/2;
if(数字==236)
{
printf("%dn",i);
休息;
}
}
}
返回0;
}主题3:综合公式
图像
式中,A~I代表1~9的数字,不同的字母代表不同的数字。
例如:
6+8/3+952/714 是一个解决方案,
5+3/1+972/486 是另一种解决方案。
这个方程有多少个解?
注:您提交的内容应为整数,请勿填写任何多余内容或说明性文字。
答案:29
方法:暴力枚举,注意每个字母代表的数字都不一样。
这题可以用9个for循环一一穷尽。中间用if判断是否有重复数,最后用if判断方程是否成立。代码如下:
#include#includeusing 命名空间std;
int main(){
int A、B、C、D、E、F、G、H、I; //九个不重复的数字
int sum1,sum2,sum3,sum4; //四个多项式
整数答; //统计解
答案=0;
为(A=1;A=9;++A){
为(B=1;B=9;++B){
如果(B==A)继续;
for(C=1;C=9;++C){
如果(C==A||C==B)继续;
为(D=1;D=9;++D){
if(D==A||D==B||D==C)继续;
为(E=1;E=9;++E){
if(E==A||E==B||E==C||E==D)继续;
为(F=1;F=9;++F){
if(F==A||F==B||F==C||F==D||F==E)继续;
为(G=1;G=9;++G){
if(G==A||G==B||G==C||G==D||G==E||G==F)继续;
对于(H=1;H=9;++H){
if(H==A||H==B||H==C||H==D||H==E||H==F||H==G)继续;
为(I=1;I=9;++I){
if(I==A||I==B||I==C||I==D||I==E||I==F||I==G||I==H)继续;
sum1=A*C*(G*100+H*10+I);
sum2=B*(G*100+H*10+I);
sum3=(D*100+E*10+F)*C;
sum4=10*C*(G*100+H*10+I);
//注意问题中的方程必须分成两部分
//GHI*A*C+B*GHI+DEF*C=10*C*GHI
if(sum1+sum2+sum3==sum4){
++ an;
}
}
}
}
}
}
}
}
}
}
printf("%dn",ans);
返回0;
}主题4:快速排序
排序经常用于各种情况。
快速排序是一种非常常用且高效的算法。
想法是:首先选择一个“尺子”,
用它来筛选整个队列,
保证:它左边的元素不大于它,它右边的元素不小于它。
这样,排序问题就被分为两个子区间。
然后分别对子范围进行排序。
下面的代码是一个实现,请分析并填写下划线部分缺失的代码。
注意:只填写缺失的内容,不要写任何已经出现在问题上的代码或解释性文字。
答案:交换(a,p,j)
方法:掌握快速排序算法
可以将代码复制到编译器中进行测试
代码如下:
#includevoid swap(int a[], int i, int j)
{
int t=a[i];
a[i]=a[j];
a[j]=t;
}
int 分区(int a[], int p, int r)
{
int i=p;
int j=r + 1;
int x=a[p];
而(1){
同时(九);
if(i=j) 中断;
交换(a,i,j);
}
//____________________;
交换(a,p,j);
返回j;
}
void fastsort(int a[], int p, int r) //快速排序
{
如果(p
【2016年第七届蓝桥杯C/C++程序设计B组省级竞赛回顾】相关文章:
2.米颠拜石
3.王羲之临池学书
8.郑板桥轶事十则
用户评论
真没想到还有2016年的数据可以查到!
有13位网友表示赞同!
那时候我还在上初中呢,还参加过比赛吗?
有6位网友表示赞同!
蓝桥杯可是很好的比赛啊,考验编程技巧和算法思维。
有7位网友表示赞同!
C语言C++B组的难度还挺大吧,需要好好练习才能过关。
有10位网友表示赞同!
想问问省赛的题目是什么类型的?跟全国赛一样吗?
有20位网友表示赞同!
我当时参加的是网络赛,感觉蓝桥杯比别的比赛更有趣味性。
有19位网友表示赞同!
蓝桥杯还有很多历史积累啊,能看看以前学生的解决方案吗?
有19位网友表示赞同!
希望今年的省赛题目也很棒,可以给学生带来更多的挑战和收获!
有20位网友表示赞同!
那时候的编程环境还比较落后吧?
有6位网友表示赞同!
现在蓝桥杯比过去更加普及了吗?
有7位网友表示赞同!
学习C/C++语言感觉很考验耐心,需要好好巩固一下基础知识。
有8位网友表示赞同!
在比赛中,高效代码和算法思路都很重要!
有11位网友表示赞同!
希望看到更多关于2016年蓝桥杯的消息和分享!
有20位网友表示赞同!
参加过蓝桥杯的同学可以分享一些经验吗?
有14位网友表示赞同!
对于想参赛的小朋友来说,学习编程是一种很好的锻炼方式。
有17位网友表示赞同!
蓝桥杯比赛不仅提高了编程能力,还能锻炼思维逻辑和团队合作精神!
有12位网友表示赞同!
也许我们也可以去翻看一下2016年的省赛记录,看看当时的水平吧。
有13位网友表示赞同!
参加过蓝桥杯真的很有成就感,对计算机科学有一定的了解确实很重要!
有12位网友表示赞同!