杂
K3_14
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
蓝桥 前缀判断
题目标题:前缀判断 如下的代码判断 needle_start指向的串是否为haystack_start指向的串的前缀,如不是,则返回NULL。 比如:"abcd1234" 就包含了 "abc" 为前缀 char* prefix(char* haystack_start, char* needle_start) { char* haystack =原创 2017-04-04 08:08:02 · 320 阅读 · 0 评论 -
蓝桥 切面条
一根高筋拉面,中间切一刀,可以得到2根面条。 如果先对折1次,中间切一刀,可以得到3根面条。 如果连续对折2次,中间切一刀,可以得到5根面条。 那么,连续对折10次,中间切一刀,会得到多少面条呢? 答案是个整数 #include #include using namespace std; int t; int dfs(int x) { if (x==0) retur原创 2017-04-02 22:33:11 · 271 阅读 · 0 评论 -
蓝桥 奇怪的分式
上小学的时候,小明经常自己发明新算法。一次,老师出的题目是: 1/4 乘以 8/5 小明居然把分子拼接在一起,分母拼接在一起,答案是:18/45 (参见图1.png) 老师刚想批评他,转念一想,这个答案凑巧也对啊,真是见鬼! 对于分子、分母都是 1~9 中的一位数的情况,还有哪些算式可以这样计算呢? 请写出所有不同算式的个数(包括题中举例的)。 显然,交换分子原创 2017-04-03 12:39:09 · 349 阅读 · 0 评论 -
蓝桥 打印图形
小明在X星球的城堡中发现了如下图形和文字: rank=3 * * * * * * * * * rank=5 * * *原创 2017-04-03 12:45:32 · 484 阅读 · 0 评论 -
蓝桥 史丰收速算
史丰收速算法的革命性贡献是:从高位算起,预测进位。不需要九九表,彻底颠覆了传统手算! 速算的核心基础是:1位数乘以多位数的乘法。 其中,乘以7是最复杂的,就以它为例。 因为,1/7 是个循环小数:0.142857...,如果多位数超过 142857...,就要进1 同理,2/7, 3/7, ... 6/7 也都是类似的循环小数原创 2017-04-03 12:56:55 · 430 阅读 · 0 评论 -
蓝桥 格子中输出
点击打开链接转载 2017-04-03 13:13:33 · 447 阅读 · 0 评论 -
蓝桥 幂的问题
如果x的x次幂结果为10(参见【图1.png】),你能计算出x的近似值吗? 显然,这个值是介于2和3之间的一个数字。 请把x的值计算到小数后6位(四舍五入),并填写这个小数值。 注意:只填写一个小数,不要写任何多余的符号或说明。 2.506184 #include #include #include using namespace s原创 2017-04-03 14:04:39 · 345 阅读 · 0 评论 -
蓝桥 调和级数
1/1 + 1/2 + 1/3 + 1/4 + ... 在数学上称为调和级数。 它是发散的,也就是说,只要加上足够多的项,就可以得到任意大的数字。 但是,它发散的很慢: 前1项和达到 1.0 前4项和才超过 2.0 前83项的和才超过 5.0 那么,请你计算一下,要加多少项,才能使得和达到或超过 15.0 呢? 请填写这个整数。 注意:只需要填写一个整数,不原创 2017-04-03 14:08:28 · 416 阅读 · 0 评论 -
蓝桥 单词个数
输入一个字符串,求它包含多少个单词。单词间以一个或者多个空格分开。 第一个单词前,最后一个单词后也可能有0到多个空格。 比如:" abc xyz" 包含两个单词,"ab c xyz " 包含3个单词。 如下的程序解决了这个问题,请填写划线部分缺失的代码。 注意:只填写划线部分的代码,不要填写任何多余的内容。比如已经存在的小括号,注释或说明文字等。原创 2017-04-03 14:11:46 · 454 阅读 · 0 评论 -
啤酒
点击打开链接转载 2017-04-03 14:26:59 · 394 阅读 · 0 评论 -
蓝桥 快速排序
排序在各种场合经常被用到。 快速排序是十分常用的高效率的算法。 其思想是:先选一个“标尺”, 用它把整个队列过一遍筛子, 以保证:其左边的元素都不大于它,其右边的元素都不小于它。 这样,排序问题就被分割为两个子区间。 再分别对子区间排序就可以了。 下面的代码是一种实现,请分析并填写划线部分缺少的代码。 #include void原创 2017-04-03 14:35:13 · 526 阅读 · 0 评论 -
蓝桥 排它平方数
小明正看着 203879 这个数字发呆。 原来,203879 * 203879 = 41566646641 这有什么神奇呢?仔细观察,203879 是个6位数,并且它的每个数位上的数字都是不同的,并且它平方后的所有数位上都不出现组成它自身的数字。 具有这样特点的6位数还有一个,请你找出它! 再归纳一下筛选要求: 1.原创 2017-04-04 07:33:54 · 537 阅读 · 0 评论 -
杂
1.C++STL中的二分查找函数 binary_search(a,a+n,key) 返回是否存在值的bool型的 #include #include //头文件 using namespace std; int a[10]={1,3,5,7,9}; bool f; int main() { f=binary_search(a,a+5,7); printf ("%d\n",原创 2017-03-11 08:17:06 · 575 阅读 · 0 评论 -
蓝桥 逆波兰表达式
点击打开链接转载 2017-04-04 08:13:23 · 473 阅读 · 0 评论 -
蓝桥 猜算式
你一定还记得小学学习过的乘法计算过程,比如: 273 x 15 ------ 1365 273 ------ 4095 请你观察如下的乘法算式 *** x *** -------- *** *** *** -------- ***** 星号代表某位数字,注意这些星号中, 0~原创 2017-04-04 08:21:52 · 460 阅读 · 0 评论 -
蓝桥 字符串比较
我们需要一个新的字符串比较函数compare(s1, s2). 对这个函数要求是: 1. 它返回一个整数,表示比较的结果。 2. 结果为正值,则前一个串大,为负值,后一个串大,否则,相同。 3. 结果的绝对值表示:在第几个字母处发现了两个串不等。 下面是代码实现。对题面的数据,结果为: -3 2 5 #include int compare(const char* s1原创 2017-04-04 08:25:28 · 452 阅读 · 0 评论 -
康托展开
点击打开链接转载 2017-04-04 08:44:56 · 517 阅读 · 0 评论 -
蓝桥 历届试题 蚂蚁感冒
#include #include using namespace std; int main() { int n,p=0,q=0,i,j; int a[55]={0}; scanf ("%d",&n); for (i=0;i<n;i++) scanf ("%d",&a[i]); for (i=1;i<n;i++) { if (a[i]abs(a[0])) p++; if (原创 2017-04-04 13:38:11 · 488 阅读 · 0 评论 -
蓝桥 移动距离
X星球居民小区的楼房全是一样的,并且按矩阵样式排列。其楼房的编号为1,2,3... 当排满一行时,从下一行相邻的楼往反方向排号。 比如:当小区排号宽度为6时,开始情形如下: 1 2 3 4 5 6 12 11 10 9 8 7 13 14 15 ..... 我们的问题是:已知了两个楼号m和n,需要求出它们之间的最短移动距离(不能斜线方向移动) 输原创 2017-04-04 16:08:11 · 482 阅读 · 0 评论 -
蓝桥 进制转换
题目描述: 给定一个8位的16进制数,您应该输出对应的8进制数(不应含有前导零)。 输入: 包含8位,每一位都是0-9或A-F之一。 输出: 一行只包括一个8进制数。 输入样例1: 0000000A 输出样例1: 12 输入样例2: 11111111 输出样例2: 2104210421 #include #inclu原创 2017-04-06 09:36:35 · 540 阅读 · 0 评论 -
蓝桥 日期计算
问题描述 已知2011年11月11日是星期五,问YYYY年MM月DD日是星期几?注意考虑闰年的情况。尤其是逢百年不闰,逢400年闰的情况。 输入格式 输入只有一行 YYYY MM DD 输出格式 输出只有一行 W 数据规模和约定 1599 1 1 1 样例输入 2011 11原创 2017-04-06 10:15:57 · 470 阅读 · 0 评论 -
蓝桥 交换瓶子
有N个瓶子,编号 1 ~ N,放在架子上。 比如有5个瓶子: 2 1 3 5 4 要求每次拿起2个瓶子,交换它们的位置。 经过若干次后,使得瓶子的序号为: 1 2 3 4 5 对于这么简单的情况,显然,至少需要交换2次就可以复位。 如果瓶子更多呢?你可以通过编程来解决。 输入格式为两行: 第一行: 一个正整数N(N 第二行:N个正整数,用原创 2017-04-06 10:43:49 · 479 阅读 · 0 评论 -
蓝桥 饮料换购
乐羊羊饮料厂正在举办一次促销优惠活动。乐羊羊C型饮料,凭3个瓶盖可以再换一瓶C型饮料,并且可以一直循环下去(但不允许暂借或赊账)。 请你计算一下,如果小明不浪费瓶盖,尽量地参加活动,那么,对于他初始买入的n瓶饮料,最后他一共能喝到多少瓶饮料。 输入:一个整数n,表示开始购买的饮料数量(0 输出:一个整数,表示实际得到的饮料数 例如: 用户输入: 100 程序应原创 2017-04-06 19:47:45 · 708 阅读 · 0 评论 -
算法训练 排序
#include #include using namespace std; int a[5]; int main() { for (int i=0;i<3;i++) scanf ("%d",&a[i]); sort(a,a+3); for (int i=2;i>=0;i--) printf ("%d ",a[i]); return 0; }原创 2017-03-18 08:04:18 · 339 阅读 · 0 评论 -
算法训练 关联矩阵
关联矩阵即用一个矩阵来表示各个点和每条边之间的关系。 对于一个无向图G,pxq, p为顶点的个数,q为边数。bij 表示在关联矩阵中点i和边j之间的关系。若点i和边j之间是连着的,则bij = 1. 反之,则bij = 0. 对于有向图,若bij = 1,表示边j离开点i。 若bij = -1, 表示边j进入点i。 若bij = 0,表示边j和点i不相关联。原创 2017-03-17 15:53:40 · 687 阅读 · 0 评论 -
算法训练 寻找数组中最大值
#include #include using namespace std; int a[110]; int n,t,m; const int inf=0xfffffff; int main() { scanf ("%d",&n); for (int i=0;i<n;i++) scanf ("%d",&a[i]); m=-inf; for (int i=0;i<n;i++)原创 2017-03-17 16:00:09 · 451 阅读 · 0 评论 -
算法训练 Torry的困惑(基本型)
求前n个质数的积,别忘了模 #include #include #include using namespace std; int n,s=1; bool zhi(int x) { if (x==2 || x==3) return true; for (int i=2;i<=sqrt(x);i++) { if (x%i==0) return false; } return tr原创 2017-03-17 16:16:56 · 328 阅读 · 0 评论 -
算法训练 最小乘积(基本型)
#include #include using namespace std; int t,n,s; int a[10],b[10]; int main() { scanf ("%d",&t); while (t--) { s=0; scanf ("%d",&n); for (int i=0;i<n;i++) scanf ("%d",&a[i]); for (int i=0;原创 2017-03-17 16:26:35 · 347 阅读 · 0 评论 -
算法训练 删除数组零元素
不需要向题目要求的那样写一个函数,直接写就行 #include #include using namespace std; int n,m,t=0; int a[100000]; int main() { scanf ("%d",&n); for (int i=0;i<n;i++) { scanf ("%d",&m); if (m!=0) a[t++]=m; } pri原创 2017-03-17 16:40:52 · 332 阅读 · 0 评论 -
算法训练 动态数组使用
#include #include using namespace std; int n,m,s=0; int main() { scanf ("%d",&n); for (int i=0;i<n;i++) { scanf ("%d",&m); s+=m; } printf ("%d %d\n",s,s/n); return 0; }原创 2017-03-17 16:45:59 · 476 阅读 · 0 评论 -
算法训练 矩阵乘法
#include #include using namespace std; int m,s,n; int a[210][210],b[210][210],c[210][210]={0}; int main() { scanf ("%d%d%d",&m,&s,&n); for (int i=1;i<=m;i++) { for (int j=1;j<=s;j++) scanf原创 2017-03-17 16:57:45 · 369 阅读 · 0 评论 -
算法训练 区间k大数查询
注意memcpy的用法 #include #include #include using namespace std; int n,m,l,r,k; int a[1010],b[1010]; int main() { scanf ("%d",&n); for (int i=1;i<=n;i++) scanf ("%d",&a[i]); scanf ("%d",&m); while原创 2017-03-18 07:00:20 · 290 阅读 · 0 评论 -
算法训练 大小写转换
#include #include #include using namespace std; char s[25]; int main() { scanf ("%s",s); for (int i=0;i<strlen(s);i++) { if (s[i]>='A' && s[i]<='Z') s[i]+=32; else s[i]-=32; } printf ("%s\n原创 2017-03-18 07:09:25 · 673 阅读 · 0 评论 -
算法训练 图形显示
#include #include using namespace std; int n; int main() { scanf ("%d",&n); for (int i=n;i>=1;i--) { for (int j=1;j<=i;j++) printf ("* "); puts(""); } return 0; }原创 2017-03-18 08:00:19 · 357 阅读 · 0 评论 -
基础练习 字母图形
注意不是只用m个字母循环!!! 下面这个不知道为什么只能过70分 #include #include using namespace std; char s[]="ABCDEFGHIJKLMNOPQRSTUVWXYZ"; int n,m,t; int main() { scanf ("%d%d",&n,&m); for (int i=0;i<n;i++) { if (i>0) {原创 2017-03-17 14:57:46 · 347 阅读 · 0 评论 -
算法训练 前缀表达式
#include #include using namespace std; char s[5]; int a,b; int main() { scanf ("%s%d%d",s,&a,&b); if (s[0]=='+') printf ("%d",a+b); else if (s[0]=='-') printf ("%d",a-b); else if (s[0]=='*') pri原创 2017-03-18 08:09:55 · 374 阅读 · 0 评论 -
算法训练 Anagrams问题
#include #include #include using namespace std; char s1[85],s2[85]; int l1,l2; int a[85],b[85]; bool f=true; int main() { scanf ("%s%s",s1,s2); l1=strlen(s1); l2=strlen(s2); if (l1!=l2) printf原创 2017-03-18 09:42:10 · 362 阅读 · 0 评论 -
算法训练 出现次数最多的整数
#include #include using namespace std; int n,m=0,num=0,s=0; int a[25]; const int inf=0xfffffff; int main() { scanf("%d",&n); if (n<=0) return 0; //坑 a[0]=inf; for (int i=1;i<=n;i++) { sc原创 2017-03-18 11:04:35 · 425 阅读 · 0 评论 -
Ants POJ - 1852
两个相对碰到后转向的蚂蚁相当于灵魂互换,互不影响 求所有蚂蚁爬下的最短时间和最长时间 #include #include using namespace std; int t,l,n,a,b; int s[1000010]; int main() { scanf ("%d",&t); while (t--) { scanf ("%d%d",&l,&n); for (int i=原创 2017-03-11 08:07:56 · 364 阅读 · 0 评论 -
蓝桥 字符串比较
标题:字符串比较 我们需要一个新的字符串比较函数t(s1, s2). 对这个函数要求是: 1. 它返回一个整数,表示比较的结果。 2. 结果为正值,则前一个串大,为负值,后一个串大,否则,相同。 3. 结果的绝对值表示:在第几个字母处发现了两个串不等。 下面是代码实现。对题面的数据,结果为: -3 2 5 仔细阅读源程序,填写划线位置缺少的代码。原创 2017-04-06 21:37:32 · 458 阅读 · 0 评论
分享