2016年七届蓝桥杯省赛C/C++B组真题及解析

题目目录

  • 第一题(煤球数目)
    • 问题描述
    • 代码
  • 第二题(生日蜡烛)
    • 问题描述
    • 代码
  • 第三题(凑算式)
    • 问题描述
    • 解决思路
    • 代码
  • 第四题(快速排序)
    • 问题描述
  • 第五题(抽签)
    • 问题描述
    • 解决思路
  • 第六题(方格填数)
    • 问题描述
    • 解决思路
    • 代码
  • 第七题(减邮票)
    • 问题描述
    • 解决思路
    • 代码
  • 第八题(四平方和)
    • 问题描述
    • 解决思路
    • 代码
  • 第九题(交换瓶子)
    • 问题描述
    • 解决思路
    • 代码
  • 第十题(最大比例)
    • 问题描述
    • 解决思路
    • 代码

第一题(煤球数目)

问题描述

有一堆煤球,堆成三角棱锥形。具体:
第一层放1个,
第二层3个(排列成三角形),
第三层6个(排列成三角形),
第四层10个(排列成三角形),

如果一共有100层,共有多少个煤球/p>

请输出表示煤球总数目的数字。
注意:你输出的应该是一个整数,不要输出任何多余的内容或说明性文字。
输入

没有输入。
输出

输出一个整数,即1~100层煤球的总数。
题目限制

1s, 1024KiB for each test case.
提示

用printf或cout输出答案。

代码

答案:171700

第二题(生日蜡烛)

问题描述

某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛。

现在算起来,他一共吹熄了236根蜡烛。

请问,他从多少岁开始过生日party的/p>

请填写他开始过生日party的年龄数。
注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。

代码

答案:26

第三题(凑算式)

问题描述

这个算式中AI代表19的数字,不同的字母代表不同的数字。

比如:
6+8/3+952/714 就是一种解法,
5+3/1+972/486 是另一种解法。
这个算式一共有多少种解法/p>

注意:你输出的应该是个整数,不要输出任何多余的内容或说明性文字。
输入

没有输入。
输出

输出一个整数,即解法总数。
题目限制

1s, 1024KiB for each test case.
提示

用printf或cout输出答案。

2016年七届蓝桥杯省赛C/C++B组真题及解析

答案:29

第四题(快速排序)

问题描述

排序在各种场合经常被用到。
快速排序是十分常用的高效率的算法。

其思想是:先选一个“标尺”,
用它把整个队列过一遍筛子,
以保证:其左边的元素都不大于它,其右边的元素都不小于它。

这样,排序问题就被分割为两个子区间。
再分别对子区间排序就可以了。

下面的代码是一种实现,请分析并填写划线部分缺少的代码。

#include void swap(int a[], int i, int j){	int t = a[i];	a[i] = a[j];	a[j] = t;}int partition(int a[], int p, int r){    int i = p;    int j = r + 1;    int x = a[p];    while(1){while(ir && a[++i]x);while(a[--j]>x);if(i>=j) break;swap(a,i,j);    }	______________________;//填空    return j;}void quicksort(int a[], int p, int r){    if(pr){int q = partition(a,p,r);quicksort(a,p,q-1);quicksort(a,q+1,r);    }}    int main(){	int i;	int a[] = {5,13,6,24,2,8,19,27,6,12,1,17};

来源:子凌在哪

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年3月11日
下一篇 2021年3月11日

相关推荐