1、报纸页数

X星球日报和我们地球的城市早报是一样的,
都是一些单独的纸张叠在一起而已。每张纸印有4版。

比如,某张报纸包含的4页是:5,6,11,12,
可以确定它应该是最上边的第2张报纸。

我们在太空中捡到了一张X星球的报纸,4个页码分别是:
1125,1126,1727,1728

请你计算这份报纸一共多少页(也就是最大页码,并不是用了几张纸哦)?

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

手算题,不难发现这样一个规律,四个页码中最小的那个数减一就是从开始到这一页的页数,书的结构是对称的,所以总页数就是最小页数减一与最大页数之和,即1125-1+1728

2852

2、网友年龄

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

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

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

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

暴力即可,答案7

#include<bits/stdc++.h>
using namespace std;
int main()
{int cnt=0;for(int i=10;i<100;i++){int a=i%10;int b=i/10;int c=a*10+b;if(i-c==27) cnt++;}cout<<cnt<<endl;return 0;
}

3、历史上有许多计算圆周率pai的公式,其中,格雷戈里和莱布尼茨发现了下面的公式:

pai = 4*(1-1/3+1/5-1/7 …)

参见【图1.png】

这个公式简单而优美,但美中不足,它收敛的太慢了。
如果我们四舍五入保留它的两位小数,那么:

累积了1项和是:4.00
累积了2项和是:2.67
累积了3项和是:3.47
。。。

请你写出它累积了100项的和是多少(四舍五入到小数后两位)。

注意:只填写该小数本身,不要填写任何多余的说明或解释文字。

很基础的求和,C语言的入门题,答案3.13

#include<bits/stdc++.h>
using namespace std;
int main()
{double ans=0;int flag=1;for(int i=0;i<100;i++){ans+=flag*(4.0/(2*i+1));flag*=-1;}cout<<ans<<endl;return 0;
}

4、平方怪圈

如果把一个正整数的每一位都平方后再求和,得到一个新的正整数。
对新产生的正整数再做同样的处理。

如此一来,你会发现,不管开始取的是什么数字,
最终如果不是落入1,就是落入同一个循环圈。

请写出这个循环圈中最大的那个数字。

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

死循环就好了,由于是在一个循环圈里循环,停止的条件不好控制,所以直接在循环里找就好了,答案145

#include<bits/stdc++.h>
using namespace std;
int main()
{int n,temp;cin>>n;temp=n;while(1){int cnt=0;while(temp>0){int a;a=temp%10;cnt+=a*a;temp/=10;}cout<<cnt<<endl;temp=cnt;}return 0;
}

5、搭积木

小明最近喜欢搭数字积木,
一共有10块积木,每个积木上有一个数字,0~9。

搭积木规则:
每个积木放到其它两个积木的上面,并且一定比下面的两个积木数字小。
最后搭成4层的金字塔形,必须用完所有的积木。

下面是两种合格的搭法:

0
1 2
3 4 5
6 7 8 9

0
3 1
7 5 2
9 8 6 4

请你计算这样的搭法一共有多少种?

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

十个数不是很大,所以可以直接用C函数库里的全排列函数暴力,答案768

#include<bits/stdc++.h>
using namespace std;
int main()
{int ans=0;int num[10]={0,1,2,3,4,5,6,7,8,9};do{//if(num[0]<num[1]&&num[0]<num[2]&&num[1]<num[3]&&num[1]<num[4]&&num[2]<num[4]&&num[2]<num[5]&&num[3]<num[6]&&num[3]<num[7]&&num[4]<num[7]&&num[4]<num[8]&&num[5]<num[8]&&num[5]<num[9])if(num[0]>num[1]||num[0]>num[2]) continue;if(num[1]>num[3]||num[1]>num[4]) continue;if(num[2]>num[4]||num[2]>num[5]) continue;if(num[3]>num[6]||num[3]>num[7]) continue;if(num[4]>num[7]||num[4]>num[8]) continue;if(num[5]>num[8]||num[5]>num[9]) continue;ans++;}while(next_permutation(num,num+10));cout<<ans<<endl;return 0;
}

6、寒假作业

现在小学的数学题目也不是那么好玩的。
看看这个寒假作业:

□ + □ = □
□ - □ = □
□ × □ = □
□ ÷ □ = □

(如果显示不出来,可以参见【图1.jpg】)

每个方块代表1~13中的某一个数字,但不能重复。
比如:
6 + 7 = 13
9 - 8 = 1
3 * 4 = 12
10 / 2 = 5

以及:
7 + 6 = 13
9 - 8 = 1
3 * 4 = 12
10 / 2 = 5

就算两种解法。(加法,乘法交换律后算不同的方案)

你一共找到了多少种方案?

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

像这种数字填空的题目,下意识想用全排列函数省事,但是这道题用这种方法需要运行好长时间,所以节省时间的话可以用搜索的办法,答案64

全排列方法:

#include<bits/stdc++.h>
using namespace std;int num[13]={1,2,3,4,5,6,7,8,9,10,11,12,13};
int main()
{int ans=0;do{if(num[0]+num[1]!=num[2]) continue;if(num[3]-num[4]!=num[5]) continue;if(num[6]*num[7]!=num[8]) continue;if(num[9]!=num[10]*num[11]) continue;ans++;}while(next_permutation(num,num+13));cout<<ans<<endl;return 0;
}

DFS方法

#include<bits/stdc++.h>
using namespace std;
int res=0;
int a[13]={1,2,3,4,5,6,7,8,9,10,11,12,13};
void dfs(int s)
{if(s>=3)if(a[0]+a[1]!=a[2]) return ;if(s>=6)if(a[3]-a[4]!=a[5]) return ;if(s>=9)if(a[6]*a[7]!=a[8]) return ;if(s>=12)if(a[11]*a[10]==a[9]){res++;return;} for(int i=s;i<=12;i++){   swap(a[i],a[s]);dfs(s+1);swap(a[s],a[i]);}
}
int main()
{dfs(0);cout<<res<<endl;return 0;
}

7、冰雹数

任意给定一个正整数N,
如果是偶数,执行: N / 2
如果是奇数,执行: N * 3 + 1

生成的新的数字再执行同样的动作,循环往复。

通过观察发现,这个数字会一会儿上升到很高,
一会儿又降落下来。
就这样起起落落的,但最终必会落到“1”
这有点像小冰雹粒子在冰雹云中翻滚增长的样子。

比如N=9
9,28,14,7,22,11,34,17,52,26,13,40,20,10,5,16,8,4,2,1
可以看到,N=9的时候,这个“小冰雹”最高冲到了52这个高度。

输入格式:
一个正整数N(N<1000000)
输出格式:
一个正整数,表示不大于N的数字,经过冰雹数变换过程中,最高冲到了多少。

例如,输入:
10
程序应该输出:
52

再例如,输入:
100
程序应该输出:
9232

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

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

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

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

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

暴力的一道题,不清楚坑在哪里,对了50%

#include<iostream>
#include<stdio.h>
using namespace std;
int main()
{int n,max=-1;cin>>n;for(int i=1;i<n;i++){int temp=i;while(temp!=1){if(temp%2==1) temp=temp*3+1;else temp=temp/2;if(temp>max) max=temp;}}cout<<max<<endl;return 0;
}

8、密码脱落

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

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

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

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

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

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

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

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

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

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

#include<iostream>
#include<stdio.h>
using namespace std;
int main()
{string str;int cnt=0,l,r;cin>>str;l=0;r=str.length()-1;while(l<r){if(str[l]==str[r]){l++;r--;}else {cnt++;r--;}}cout<<cnt<<endl;return 0;
}

蓝桥杯2016年C/C++ 混搭相关推荐

  1. 第七届蓝桥杯 2016年省赛真题(Java 大学C组)

    蓝桥杯 2016年省赛真题(Java 大学C组) 第一题:有奖猜谜 第二题:煤球数目 第三题:平方怪圈 第四题:骰子游戏 第五题:分小组 第六题:凑算式 第七题:搭积木 第八题:冰雹数 第九题:四平方 ...

  2. 蓝桥杯2016初赛python题解

    前言:除特殊说明外题解均可AC 蓝桥杯2016初赛 [蓝桥杯2016初赛]网友年龄 [蓝桥杯2016初赛]生日蜡烛 [蓝桥杯2016初赛]方格填数 [蓝桥杯2016初赛]寒假作业 [蓝桥杯2016初赛 ...

  3. 蓝桥杯2016年C语言B组-交换瓶子

    蓝桥杯2016年C语言B组 交换瓶子 代码 交换瓶子 有N个瓶子,编号 1 ~ N,放在架子上. 比如有5个瓶子: 2 1 3 5 4 要求每次拿起2个瓶子,交换它们的位置. 经过若干次后,使得瓶子的 ...

  4. 蓝桥杯取球博弈c语言算法,1298: [蓝桥杯2016初赛]取球博弈 (博弈)

    1298: [蓝桥杯2016初赛]取球博弈 (博弈) 1298: [蓝桥杯2016初赛]取球博弈 (博弈) #include #include #include #include #include # ...

  5. [蓝桥杯2016初赛]方格填数-next_permutation

    代码如下: #include <iostream> #include <algorithm> using namespace std;int main() {int a[10] ...

  6. 蓝桥杯2016第七届C语言B组省赛习题题解——习题B.生日蜡烛

    每日刷题(十一) 蓝桥杯第七届C语言B组省赛习题 习题B:生日蜡烛 我们可以立刻想到等差数列求和,那就是Sn = (n0 + n)* (n - n0 + 1)/ 2 Sn = 236,很明显这里有两个 ...

  7. [蓝桥杯]2016蓝桥省赛B组题目及详解

    /*----------------------------------------------------------- [结果填空题]T1 (分值:3) 题目:煤球数目有一堆煤球,堆成三角棱锥形. ...

  8. [蓝桥杯2016初赛]卡片换位 bfs+set

    你玩过华容道的游戏吗?这是个类似的,但更简单的游戏.看下面 3 x 2 的格子 +---+---+---+ | A | * | * | +---+---+---+ | B | | * | +---+- ...

  9. 蓝桥杯2016省赛真题-剪邮票(dfs)

    如[图1.jpg], 有12张连在一起的12生肖的邮票. 现在你要从中剪下5张来,要求必须是连着的. (仅仅连接一个角不算相连) 比如,[图2.jpg],[图3.jpg]中,粉红色所示部分就是合格的剪 ...

最新文章

  1. Linux脚本让我选择文件,linux – 用于选择文件和打印文件大小的Awk脚本
  2. iptables 防火墙的基本使用
  3. node.js 和 HTML5-Canvas 结合实现截图上传交互
  4. 深度学习目标检测之 YOLO v2
  5. 关于计算机游戏的英语读法,关于电脑游戏的英语作文
  6. cbitmap 从内存中加载jpg_Pytorch数据加载的分析
  7. Debian For ARM Webmin Server
  8. java static int count,static int bitCount(long i)
  9. Ajax爬取今日头条街拍美女
  10. 骑士人才linux伪静态,骑士CMS人才系统伪静态的设置方法
  11. 【干货分享】嫁给爱情字体设计创意
  12. VTN系列多通道采集仪硬件接口
  13. 阿里云云解析DNS怎么样?云解析DNS有什么优势?
  14. 如何创建一个facebook账户
  15. 华为、华三交换机查看光模块收发光及光模块信息
  16. CC26x2R1笔记(8)CCS9.2 cc26xx环境的搭建
  17. 一种 Python 获取时间序列数据集的方式
  18. latex 公式换行_如何在微信公众号中!编辑出漂亮的数学公式?
  19. ElasticSearch 中的中文分词器以及索引基本操作详解
  20. 【最新版】宝塔面板7.9.3企业版 开心破解版一键脚本

热门文章

  1. 离线安装gcc(CentOS7)
  2. Orchard源码分析(5.3):EndRequest事件处理(DefaultOrchardHost.EndRequest方法)
  3. 帝国列表页分开调取年份和月份单独调用的方法?
  4. 上传Text文档并转换为PDF(解决乱码)
  5. codeforces Free Cash
  6. C++编写Windows服务程序
  7. 小e的每日一画 之 飞毯旅行记 20071231
  8. springboot2.0新特性
  9. Spring中的观察者模式
  10. 关于Memcached反射型DRDoS攻击分析