- 博客(25)
- 收藏
- 关注
原创 连号区间
#include<bits/stdc++.h> using namespace std; int a[50005]; int b[50005]; int main() { int N,ans=0; scanf("%d",&N); for (int i = 0; i < N; ++i) { scanf("%d",&a[i]); } for (int i = 0; i <N ; ++i) { for
2021-04-18 15:54:33
163
原创 带分数
#include <bits/stdc++.h> using namespace std; int arr[]={1,2,3,4,5,6,7,8,9}; int getNum(int i,int j) { int num=0; for (int m = i; m <=j ; ++m) { num+=arr[m]*pow(10,(j-m)); } return num; } int main() { int N,ans=0; sca
2021-04-18 15:52:42
145
原创 蓝桥杯 翻硬币
小明正在玩一个“翻硬币”的游戏。 桌上放着排成一排的若干硬币。我们用 * 表示正面,用 o 表示反面(是小写字母,不是零)。 比如,可能情形是:oo*oooo 如果同时翻转左边的两个硬币,则变为:oooo***oooo 现在小明的问题是:如果已知了初始状态和要达到的目标状态,每次只能同时翻转相邻的两个硬币,那么对特定的局面,最少要翻动多少次呢? 我们约定:把翻动相邻的两个硬币叫做一步操作,那么要求: 程序输入: 两行等长的字符串,分别表示初始状态和要达到的目标状态。每行的长度<1000 程序输出: 一
2021-04-17 19:39:46
145
原创 蓝桥杯 等差素数列
2,3,5,7,11,13,…是素数序列。 类似:7,37,67,97,127,157 这样完全由素数组成的等差数列,叫等差素数数列。 上边的数列公差为30,长度为6。 2004年,格林与华人陶哲轩合作证明了:存在任意长度的素数等差数列。 这是数论领域一项惊人的成果! 有这一理论为基础,请你借助手中的计算机,满怀信心地搜索: 长度为10的等差素数列,其公差最小值是多少? 注意:需要提交的是一个整数,不要填写任何多余的内容和说明文字。 #include<bits/stdc++.h> bool is
2021-04-14 14:59:32
140
原创 蓝桥杯 交换瓶子
有N个瓶子,编号 1 ~ N,放在架子上。 比如有5个瓶子: 2 1 3 5 4 要求每次拿起2个瓶子,交换它们的位置。 经过若干次后,使得瓶子的序号为: 1 2 3 4 5 对于这么简单的情况,显然,至少需要交换2次就可以复位。 如果瓶子更多呢?你可以通过编程来解决。 输入格式为两行: 第一行: 一个正整数N(N<10000), 表示瓶子的数目 第二行:N个正整数,用空格分开,表示瓶子目前的排列情况。 输出数据为一行一个正整数,表示至少交换多少次,才能完成排序。 例如,输入: 5 3 1 2 5 4
2021-04-14 09:27:24
102
原创 2016蓝桥杯C++: 四平方和
四平方和定理,又称为拉格朗日定理: 每个正整数都可以表示为至多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 为联合主键升序排列,最后输出第一个表示法 程
2021-04-13 16:13:18
178
原创 蓝桥杯剪邮票
剪邮票 如【图1.jpg】, 有12张连在一起的12生肖的邮票。 现在你要从中剪下5张来,要求必须是连着的。(仅仅连接一个角不算相连) 比如,【图2.jpg】,【图3.jpg】中,粉红色所示部分就是合格的剪取。 请你计算,一共有多少种不同的剪取方法。 请填写表示方案数目的整数。 注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。 1.next_permutation+dfs #include<bits/stdc++.h> using namespace std; int ar
2021-04-12 15:22:56
154
转载 蓝桥杯 快速排序
第四题:快速排序 排序在各种场合经常被用到。 快速排序是十分常用的高效率的算法。 其思想是:先选一个“标尺”, 用它把整个队列过一遍筛子, 以保证:其左边的元素都不大于它,其右边的元素都不小于它。 这样,排序问题就被分割为两个子区间。 再分别对子区间排序就可以了。 下面的代码是一种实现,请分析并填写划线部分缺少的代码。 #include <stdio.h> void swap(int a[], int i, int j) { int t = a[i]; a[i] = a[j]; a[j
2021-04-07 13:41:23
123
原创 2021-04-04
Division Time Limit:3000MS Memory Limit:Unknown 64bit IO Format:%lld & %llu Submit Status Description Write a program that finds and displays all pairs of 5-digit numbers that between them use the digits 0 through 9 once each, such that the first
2021-04-04 14:59:36
97
原创 蓝桥杯牌型种数
题目描述 小明被劫持到X赌城,被迫与其他3人玩牌。 一副扑克牌(去掉大小王牌,共52张),均匀发给4个人,每个人13张。 这时,小明脑子里突然冒出一个问题: 如果不考虑花色,只考虑点数,也不考虑自己得到的牌的先后顺序,自己手里能拿到的初始牌型组合一共有多少种呢? 请填写该整数,不要填写任何多余的内容或说明文字。 思路: 由于不考虑牌的先后,我们可以看作牌已经从小到大排好了序(要抽取的13张牌也从小到大): 如果抽4张A的花,就是开头四张就抽到A,后面抽2,3…… (代表此时手中已经有4个A和4个2了) 这
2021-04-03 10:25:20
118
原创 加法变乘法
加法变乘法 我们都知道:1+2+3+ … + 49 = 1225 现在要求你把其中两个不相邻的加号变成乘号,使得结果为2015 比如: 1+2+3+…+10 x 11+12+…+27 x 28+29+…+49 = 2015 就是符合要求的答案。 请你寻找另外一个可能的答案,并把位置靠前的那个乘号左边的数字提交(对于示例,就是提交10)。 #include<stdio.h> int main() { int sum=0,j,k; for(j=1; j<49; j++)
2021-03-07 16:17:06
111
原创 九数组分数
九数组分数 1,2,3…9 这九个数字组成一个分数,其值恰好为1/3,如何组法? 下面的程序实现了该功能,请填写划线部分缺失的代码。 #include <stdio.h> void test(int x[]) { int a = x[0]*1000 + x[1]*100 + x[2]*10 + x[3]; int b = x[4]*10000 + x[5]*1000 + x[6]*100 + x[7]*10 + x[8]; if(a*3==b) printf("%d / %d\n",
2021-03-07 15:20:30
168
原创 三羊献瑞
1. 7个循环 #include<stdio.h> int main() { int xiang,rui,sheng,hui,san,yang,xian,qi; for(xiang=1; xiang<10; xiang++) { for(rui=0; rui<10; rui++) { if(xiang!=rui) { for(sheng=0; she
2021-03-06 19:24:36
163
原创 星际炸弹
#题目描述 在X星系的广袤空间中漂浮着许多X星人造“炸弹”,用来作为宇宙中的路标。 每个炸弹都可以设定多少天之后爆炸。 比如:阿尔法炸弹2015年1月1日放置,定时为15天,则它在2015年1月16日爆炸。 有一个贝塔炸弹,a年b月c日放置,定时为n天,请你计算它爆炸的准确日期。 #输入 输入存在多组数据,每组数据输入一行,每一行输入四个正整数a,b,c,n 输入保证日期在1000-01-01到2020-01-01之间,且日期合法。 n不超过1000 #输出 请填写该日期,格式为 yyyy-mm-dd 即4
2021-03-06 17:33:20
265
原创 数组申请空间过大导致程序无法运行
这样的bai定义方式是在栈上申请duzhi存dao. 而栈空间是有限的. 一般zhuanwindows下每个进程栈空间为shu1M, linux下为容10M 1,000,000字节为 1M, 应该超过默认栈空间 把数组你开在main外面就可以了,不过太大了就要申请动态空间了 ...
2021-03-05 15:11:09
722
原创 JAVA中为什么(byte)255=-1
byte的取值范围 byte类型占8个字节除了第一位为符号位(“1”表示负“0”表示正)其余7个字节表示数值。 取值范围为111111111~011111111 可能会认为是-127到127 但是由于00000000和10000000表示0和-0,都表示0没有意义,所以让10000000表示-128 所以byte的取值范围为-128到127 原码,补码,反码的转换 计算机中数值是以补码的形式储存(便于计算机计算,不深究) 正数 原码,补码,反码都一样。 负数 反码是原码的基础上符号位不变,数值位取反 补码在
2021-03-02 15:41:00
3520
6
原创 JAVA的命名约定
类 名词 每个字的首字母大小写 举例:HelloWorld、Customer 接口 特殊的类 命名约定与类相同 方法 动词 首字母小写,其余各字首字母大写 举例:getName、setAddress 常量 全部为大写字母 字与字之间用下划线分隔 对象常量可使用混合大小写 举例:BLUE_COLOR 变量 首字母小写,其余各字首字母大写 不要使用下划线" _ “,美元符号” $ " 举例:byPercent ———————————————— 版权声明:本文为优快云博主「余舍」的原创文章,遵循CC 4.0 B
2021-03-02 14:29:09
157
原创 蓝桥杯 蚂蚁感冒
题描述 长100厘米的细长直杆子上有n只蚂蚁。它们的头有的朝左,有的朝右。 每只蚂蚁都只能沿着杆子向前爬,速度是1厘米/秒。 当两只蚂蚁碰面时,它们会同时掉头往相反的方向爬行。 这些蚂蚁中,有1只蚂蚁感冒了。并且在和其它蚂蚁碰面时,会把感冒传染给碰到的蚂蚁。 请你计算,当所有蚂蚁都爬离杆子时,有多少只蚂蚁患上了感冒。 输入格式 第一行输入一个整数n (1 < n < 50), 表示蚂蚁的总数。 接着的一行是n个用空格分开的整数 Xi (-100 < Xi < 100), Xi
2021-02-25 10:43:52
111
原创 蓝桥杯六角填数
如图所示六角形中,填入1~12的数字。 使得每条直线上的数字之和都相同。 图中,已经替你填好了3个数字,请你计算星号位置所代表的数字是多少? #include<algorithm> #include<stdio.h> using namespace std; int arr[]={0,1,8,2,4,5,6,7,9,10,11,12,3};//0的存在只是为了方便把六角形的坑位对应位1~12,1,8和3放在数组两端,方便全排列时不用排这三个固定的数 int main(void)
2021-02-23 11:35:13
289
原创 蓝桥杯 2014 打印图形
蓝桥杯 2014 打印图形 /*标题:打印图形 小明在X星球的城堡中发现了如下图形和文字: rank=3 * * * * * * * * * rank=5 * * * * * * * * * * * * * * * * * * * * * * * * * * *
2021-02-19 11:43:04
165
原创 double 是不能直接用 != 或者 == 的,用误差判别
课后思考题2。 下面的程序运行结果是什么? “! = ”运算符表示“不相等”。 提示: 请上机实 验, 不要凭主观感觉回答。 #include<stdio.h> int main() { double i; for(i = 0; i != 10; i += 0.1) printf("%.1f\n", i); return 0; } // 死循环, 因为 double 是不能直接用 != 或者 == 的,用误差判别 可以改为 #include<stdio.h> const d
2021-02-19 10:39:50
962
原创 蓝桥杯李白打酒
话说大诗人李白,一生好饮。幸好他从不开车。 一天,他提着酒壶,从家里出来,酒壶中有酒2斗。他边走边唱: 无事街上走,提壶去打酒。 逢店加一倍,遇花喝一斗。 这一路上,他一共遇到店5次,遇到花10次,已知最后一次遇到的是花,他正好把酒喝光了。 请你计算李白遇到店和花的次序,可以把遇店记为a,遇花记为b。则:babaabbabbabbbb 就是合理的次序。像这样的答案一共有多少呢?请你计算出所有可能方案的个数(包含题目给出的)。 注意:通过浏览器提交答案。答案是个整数。不要书写任何多余的内容。 开始想到的是类似
2021-02-15 14:32:00
192
原创 蓝桥杯连号区间
题目描述 标题:连号区间数 小明这些天一直在思考这样一个奇怪而有趣的问题: 在1~N的某个全排列中有多少个连号区间呢?这里所说的连号区间的定义是: 如果区间[L, R] 里的所有元素(即此排列的第L个到第R个元素)递增排序后能得到一个长度为R-L+1的“连续”数列,则称这个区间连号区间。 当N很小的时候,小明可以很快地算出答案,但是当N变大的时候,问题就不是那么简单了,现在小明需要你的帮助。 输入格式: 第一行是一个正整数N (1 <= N <= 50000), 表示全排列的规模。 第二行是N个
2021-02-15 14:20:33
99
原创 C语言基本数据类型笔记
C语言基本数据类型笔记 一个字节Byte有8位,一位代表0或1 int 占4个字节即4*8=32位 232=4294967295. 取值范围为-231~231-1 int b=pow(2,31)-1; printf("%d",b); 注意输出为==%d== 如果把b的数值再调大,结果也只能显示为232-1 unsigned int 取值范围为0~232-1 把上述int改为unsigned int unsigned int b=pow(2,32)-1; printf("%u",b); 注
2021-01-30 14:29:37
154
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅