一:问题:

某君新认识一网友。
当问及年龄时,他的网友说:
“我的年龄是个2位数,我比儿子大27岁,
如果把我的年龄的两位数字交换位置,刚好就是我儿子的年龄”

请你计算:网友的年龄一共有多少种可能情况?

提示:30岁就是其中一种可能哦.

请填写表示可能情况的种数。
注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。

答案:这题似乎只要列一下方程组就可以得出答案7了吧。

二:题目:

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

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

请问,他从多少岁开始过生日party的?

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

答案:

标准的递增数列求和

  1. #include<stdio.h>
  2. int main()
  3. {
  4. int a, b;
  5. for (a = ; a < ; a++)
  6. {
  7. int c = ;
  8. for (b = ; b < ; b++)
  9. {
  10. c = c + a + b;
  11. if (c == )
  12. {
  13. printf(" %d %d\n", a, b);
  14. break;
  15. }
  16. }
  17. printf("%d\n", a);
  18. }
  19. return ;
  20. }

三:题目:

方格填数

如下的10个格子
填入0~9的数字。要求:连续的两个数字不能相邻。

(左右、上下、对角都算相邻)

一共有多少种可能的填数方案?

请填写表示方案数目的整数。
注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。

答案:

八:题目:

四平方和

四平方和定理,又称为拉格朗日定理:
每个正整数都可以表示为至多4个正整数的平方和。
如果把0包括进去,就正好可以表示为4个数的平方和。

比如:
5 = 0^2 + 0^2 + 1^2 + 2^2
7 = 1^2 + 1^2 + 1^2 + 2^2
(^符号表示乘方的意思)

对于一个给定的正整数,可能存在多种平方和的表示法。
要求你对4个数排序:
0 <= a <= b <= c <= d
并对所有的可能表示法按 a,b,c,d 为联合主键升序排列,最后输出第一个表示法

程序输入为一个正整数N (N<5000000)
要求输出4个非负整数,按从小到大排序,中间用空格分开

例如,输入:
5
则程序应该输出:
0 0 1 2

再例如,输入:
12
则程序应该输出:
0 2 2 2

再例如,输入:
773535
则程序应该输出:
1 1 267 838

资源约定:
峰值内存消耗 < 256M
CPU消耗 < 3000ms

请严格按要求输出,不要画蛇添足地打印类似:“请您输入...” 的多余内容。

所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。

注意: main函数需要返回0
注意: 只使用ANSI C/ANSI C++ 标准,不要调用依赖于编译环境或操作系统的特殊函数。
注意: 所有依赖的函数必须明确地在源文件中 #include <xxx>, 不能通过工程设置而省略常用头文件。

提交时,注意选择所期望的编译器类型。

答案:

蓝桥杯果然暴力出真理

  1. #include <iostream>
  2. #include <cmath>
  3. #include <stdio.h>
  4. #include <cstdio>
  5. #include <cstring>
  6. #include<algorithm>
  7. #include<time.h>
  8. #include<math.h>
  9. #include <stdlib.h>
  10. #include <string.h>
  11. #include <stack>
  12.  
  13. using namespace std;
  14.  
  15. int a[], temp;
  16. int handle(int temp)
  17. {
  18. for (a[] = ; a[] < ; a[]++)
  19. for (a[] = a[]; a[] < ; a[]++)
  20. for (a[] = a[]; a[] < ; a[]++)
  21. {
  22. a[] = (int)sqrt(temp - (a[] * a[] + a[] * a[] + a[] * a[]));
  23. if (a[] * a[] + a[] * a[] + a[] * a[] + a[] * a[] == temp)
  24. {
  25. sort(a, a + , less<int>());
  26. return ;
  27. }
  28. }
  29. return ;
  30. }
  31.  
  32. int main()
  33. {
  34. while ()
  35. {
  36. scanf("%d", &temp);
  37. if (handle(temp))
  38. {
  39. printf("%d %d %d %d\n", a[],a[],a[],a[]);
  40. }
  41. else
  42. {
  43. printf("inexistence\n");
  44. }
  45. }
  46. return ;
  47. }

九:题目:

密码脱落

X星球的考古学家发现了一批古代留下来的密码。
这些密码是由A、B、C、D 四种植物的种子串成的序列。
仔细分析发现,这些密码串当初应该是前后对称的(也就是我们说的镜像串)。
由于年代久远,其中许多种子脱落了,因而可能会失去镜像的特征。

你的任务是:
给定一个现在看到的密码串,计算一下从当初的状态,它要至少脱落多少个种子,才可能会变成现在的样子。

输入一行,表示现在看到的密码串(长度不大于1000)
要求输出一个正整数,表示至少脱落了多少个种子。

例如,输入:
ABCBA
则程序应该输出:
0

再例如,输入:
ABDCDCBABC
则程序应该输出:
3

资源约定:
峰值内存消耗 < 256M
CPU消耗 < 1000ms

请严格按要求输出,不要画蛇添足地打印类似:“请您输入...” 的多余内容。

所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。

答案:

计算原字符串与逆序字符串的LCS(最长公共子序列)的长度,用字符串长度减去LCS的长度就是最小回文代价

  1. #include <iostream>
  2. #include <cmath>
  3. #include <stdio.h>
  4. #include <cstdio>
  5. #include <cstring>
  6. #include<algorithm>
  7. #include<time.h>
  8. #include<math.h>
  9. #include <stdlib.h>
  10. #include <string.h>
  11. #include <stack>
  12.  
  13. using namespace std;
  14.  
  15. int f[][];
  16. int len1, len2;
  17. int LCS(char a[], char b[])
  18. {
  19. int i, j;
  20. len2=len1 = strlen(a);
  21. for (i = ; i <= len1; i++)
  22. {
  23. f[i][] = ;
  24. }
  25. for (i = ; i <= len2; i++)
  26. {
  27. f[][i] = ;
  28. }
  29. for (i = ; i <= len1; i++)
  30. {
  31. for (j = ; j <= len2; j++)
  32. {
  33. if (a[i - ] == b[j - ])
  34. {
  35. f[i][j] = f[i - ][j - ] + ;
  36. }
  37. else
  38. {
  39. f[i][j] = f[i - ][j]>f[i][j - ] ? f[i - ][j] : f[i][j - ];
  40. }
  41. }
  42. }
  43. return ;
  44. }
  45.  
  46. int main()
  47. {
  48. int len;
  49. int j = ,i=;
  50. char a[], b[ ];
  51. scanf("%s", &a);
  52. len = strlen(a);
  53. for ( i = len-; i >= ; i--)
  54. {
  55. b[j] = a[i];
  56. j++;
  57. printf("%c", a[i]);
  58. }
  59. LCS(a, b);
  60. printf("\n%d\n", len-f[len1][len2]);
  61. return ;
  62. }

十:题目:

最大比例

X星球的某个大奖赛设了M级奖励。每个级别的奖金是一个正整数。
并且,相邻的两个级别间的比例是个固定值。
也就是说:所有级别的奖金数构成了一个等比数列。比如:
16,24,36,54
其等比值为:3/2

现在,我们随机调查了一些获奖者的奖金数。
请你据此推算可能的最大的等比值。

输入格式:
第一行为数字 N (0<N<100),表示接下的一行包含N个正整数
第二行N个正整数Xi(Xi<1 000 000 000 000),用空格分开。每个整数表示调查到的某人的奖金数额

要求输出:
一个形如A/B的分数,要求A、B互质。表示可能的最大比例系数

测试数据保证了输入格式正确,并且最大比例是存在的。

例如,输入:
3
1250 200 32

程序应该输出:
25/4

再例如,输入:
4
3125 32 32 200

程序应该输出:
5/2

再例如,输入:
3
549755813888 524288 2

程序应该输出:
4/1

资源约定:
峰值内存消耗 < 256M
CPU消耗 < 3000ms

答案:

先对各项排序,两两相除并约分,只要保证每次计算结果大于1,最后剩下的就是最大公比。

  需要注意去重,以及公比为1的情况。

  1. #include <iostream>
  2. #include <cmath>
  3. #include <stdio.h>
  4. #include <cstdio>
  5. #include <cstring>
  6. #include<algorithm>
  7. #include<time.h>
  8. #include<math.h>
  9. #include <stdlib.h>
  10. #include <string.h>
  11. #include <stack>
  12.  
  13. using namespace std;
  14.  
  15. struct fraction
  16. {
  17. _int64 son, mom;
  18. }adata[];
  19.  
  20. __int64 GCD(__int64 a, __int64 b)
  21. {
  22. __int64 c;
  23. while (c = a%b)
  24. a = b, b = c;
  25. return b;
  26. }
  27.  
  28. fraction getfra(fraction a, fraction b)
  29. {
  30. if (a.son == b.son&&a.mom==b.mom)
  31. {
  32. return a;
  33. }
  34. _int64 gcd;
  35. gcd = GCD(a.mom, b.mom);
  36. a.mom /= gcd;
  37. b.mom /= gcd;
  38. gcd = GCD(a.son, b.son);
  39. a.son /= gcd;
  40. b.son /= gcd;
  41. a.son *= b.mom;
  42. b.son *= a.mom;
  43. if (a.son < b.son)
  44. {
  45. a.mom = a.son;
  46. a.son = b.son;
  47. }
  48. else
  49. a.mom = b.son;
  50. return a;
  51. }
  52.  
  53. int main()
  54. {
  55. int i, j, n;
  56. _int64 temp[];
  57. scanf("%d", &n);
  58. for (i = ; i < n; i++)
  59. {
  60. scanf("%lld", &temp[i]);
  61. adata[i].mom = ;
  62. }
  63. sort(temp, temp + n);
  64. for (i=j = ; i < n; i++)
  65. {
  66. if (temp[i] != temp[i + ])
  67. adata[j++].son = temp[i];
  68. }
  69. for (i = j - ; i; i--)
  70. {
  71. for (n = ; n < i; n++)
  72. {
  73. adata[n]=getfra(adata[n], adata[n + ]);
  74. }
  75. }
  76. if (j == )
  77. printf("1/1");
  78. else
  79. printf("%lld/%lld", adata[].son, adata[].mom);
  80. return ;
  81. }

2016第七届蓝桥杯C/C++语言A组的更多相关文章

  1. 2016 第七届蓝桥杯 c/c++ B组省赛真题及解题报告

    2016 第七届蓝桥杯 c/c++ B组省赛真题及解题报告 勘误1:第6题第4个 if最后一个条件粗心写错了,答案应为1580. 条件应为abs(a[3]-a[7])!=1,宝宝心理苦啊.!感谢zzh ...

  2. 2016第七届 蓝桥杯 全国总决赛B题(完全平方数) (练习)

    道友给看了一道题目,就记录一下吧 题目: 给你0,1,2,3,4,5,6,7,8,9十个数字,要你选出任意一个或几个组合在一起成为完全平方数,每个数字都必须选且只能选一次,求可能的方案. 比如有其中几 ...

  3. 第七届蓝桥杯试题c/c++A组方格填数 回溯法

    方格填数如下的10个格子   +--+--+--+   |  |  |  |+--+--+--+--+|  |  |  |  |+--+--+--+--+|  |  |  |+--+--+--+(如果 ...

  4. 2016年第七届蓝桥杯C/C++程序设计本科B组省赛

    /* 2016年第七届蓝桥杯C/C++程序设计本科B组省赛 煤球数目(结果填空) 煤球数目 有一堆煤球,堆成三角棱锥形.具体: 第一层放1个, 第二层3个(排列成三角形), 第三层6个(排列成三角形) ...

  5. 2016年第七届蓝桥杯c/c++省赛B组

    2016年第七届蓝桥杯c/c++省赛B组 声明:以下答案是我自己做的.不能保证正确,须要參考正确答案的请到其它地方找. 第一题 :煤球数目 题目叙述: 有一堆煤球,堆成三角棱锥形.详细: 第一层放1个 ...

  6. 算法笔记_212:第七届蓝桥杯软件类决赛真题(Java语言B组)

    目录 1 愤怒小鸟 2 反幻方 3 打靶 4 路径之谜 5 碱基 6 圆圈舞 前言:以下代码仅供参考,若有错误欢迎指正哦~ 1 愤怒小鸟 愤怒小鸟 X星球愤怒的小鸟喜欢撞火车! 一根平直的铁轨上两火车 ...

  7. 第七届蓝桥杯JavaC组省赛真题

    解题代码部分来自网友,如果有不对的地方,欢迎各位大佬评论 题目1.有奖竞猜 题目描述 小明很喜欢猜谜语. 最近,他被邀请参加了X星球的猜谜活动. 每位选手开始的时候都被发给777个电子币. 规则是:猜 ...

  8. java实现第七届蓝桥杯冰雹数

    题目8.冰雹数 题目描述 任意给定一个正整数N, 如果是偶数,执行: N / 2 如果是奇数,执行: N * 3 + 1 生成的新的数字再执行同样的动作,循环往复. 通过观察发现,这个数字会一会儿上升 ...

  9. 2018第九届蓝桥杯决赛(C++ B组)

    逛了大半个北京还是挺好玩de 第一题 标题:换零钞 x星球的钞票的面额只有:100元,5元,2元,1元,共4种. 小明去x星旅游,他手里只有2张100元的x星币,太不方便,恰好路过x星银行就去换零钱. ...

随机推荐

  1. python简单爬虫 使用pandas解析表格,不规则表格

    url = http://www.hnu.edu.cn/xyxk/xkzy/zylb.htm 部分表格如图: 部分html代码: <table class="MsoNormalTabl ...

  2. 关于“load”方法

    load是一个方法,在程序文件中,只有ruby遇到它的时候才会执行.Ruby不会搜索整个文件去执行load命令.也就是说,当Ruby解释器遇到它的时候,它才会去寻找它要加载的文件.这意味着需要加载的文 ...

  3. C# 从配置文件中读取/写入信息

    读取: var currMemberID = System.Configuration.ConfigurationManager.AppSettings["tolunaMemberID&qu ...

  4. Groovy学习笔记-动态类型

    1.respondsTo方法判断对象是否存在指定方法 interface IHelp{ void helpMoveThings() } class Man implements IHelp{ void ...

  5. python2入门(3)

    六.python列表(List) python最常见的序列类型python列表List使用[]表示,元素之间以逗号分隔,元素类型不需要相同 内置操作: list = [1,2,3,'four'] li ...

  6. VIM学习一: VIM命令学习及插件介绍

    一.光标移动及编辑命令(含查找替换) [打开关闭窗口] :e file或:open file       打开新文档 :q或者ctrl+w+q         关闭当前视图的窗口 :tab split ...

  7. 图片上传js

    var imgURL; function getImgURL(node) { try{ var file = null; if(node.files && node.files[0] ...

  8. VS2012及VS2013连接SQL2008提示 Could not load file or assembly 'Microsoft.SqlServer.Management.Sdk.Sfc'

    今天用同学的电脑,出现了这个错误.使用vs2012中的sqldatasoure控件,连接数据库.用的数据库是2008R2.已成功. 出现这样的错误. 解决办法: 安装以下三个组件: 安装顺序:SQLS ...

  9. 消息 xxx,级别 16,状态 x,过程 sp_executesql,第 x 行 过程需要类型为 'ntext/nchar/nvarchar' 的参数 '@statement'。

    消息 xxx,级别 16,状态 x,过程 sp_executesql,第 x 行 过程需要类型为 'ntext/nchar/nvarchar' 的参数 '@statement'. 原来的语句: ) s ...

  10. ubuntu16.04微信安装

    1.下载: git clone https://github.com/geeeeeeeeek/electronic-wechat/releases 2.移动微信客户端(下载解压重命名为wechat)到 ...