- 博客(42)
- 收藏
- 关注
原创 栈的基本用法
不用万能头文件要调用#include<stack>声明栈:stack<int>e;//格式: stack<数据类型> 栈名;以下关于栈的用法操作,时间复杂度一律为O(1).1.压栈:e.push(i);//格式: 栈名.push(压栈的元素);2.出栈:e.pop();//格式: 栈名.pop();//每次弹出栈顶元素3.栈顶元素:int ans=e.top();//格式: 栈名.top();4.检测栈是否为空:bool s=e.empt
2021-05-14 22:07:41
435
原创 二分用递归实现
关键代码如下:int BinSearch(int Array[],int low,int high,int key) //low和high表示二分所查找到范围 // key表示查找数值{ //判断是否有元素 if (low<=high) { int mid = (low+high)/2; //mid是中点位置 //三种情况= < > if(key == Array[mid])
2021-05-14 21:33:30
168
原创 字符串的函数
长度函数:string a;cin>>a;int lena=a.length();文章读入函数:string a;getline(cin,a);从字符串中截取字符串:string a;getline(cin,a);string sub=a.substr(i,lenw);i表示从a字符串中第i位开始截取lenw表示截取lenw位...
2021-05-14 21:33:04
119
原创 getline用法
如何输入一个带有空格的字符串或字符数组?这时就需要用getline了。getline 有两种用法;读入带有空格的字符串格式为 getline(cin,对应字符串指针);代码如下:#include<bits/stdc++.h>using namespace std;string a;int main(){ getline(cin,a);//输入一个含有空格的字符串 //int lena=a.length(); //求输入长度(包含空格) return 0;}
2021-05-10 21:42:17
20981
1
原创 生日相同问题
快速排序算法sort 使用int排序string 长度排序string 字典排序多维排序如果多维,最好定义结构体:例如struct node{ string name; int mon,day;};node a[311];bool cmp(node x,node y){ if (x.mon!=y.mon) return x.mon<y.mon; else if (x.day!=y.day) x.day<y.day; else if (x.name.size(
2021-05-10 12:24:24
345
原创 XJR放花炮
XJR放花炮描述XJR今天很高兴,因为得知APEC北京要多放六天假,又恰逢是自己的生日。为了庆祝假日和生日,XJR和信息技术社团的小伙伴们共n个人相约一起到科技楼下放花炮。他们先同时放响了第一个花炮,随后n个人分别以A1、A2、A3、……An秒的时间间隔继续放花炮,到最后每人都放了m个花炮(包括第一个)。问:待在办公室的杨老师总共可听到多少声花炮响?输入共三行,第一行仅一个整数n(n<=100),第二行是A1、A2、A3、……An共n个正整数整数(都不超过100各数以空格相隔),第三行只有一个
2021-01-21 16:19:17
568
原创 锯木棍
锯木棍描述有一根粗细均匀长度为 L 的木棍,先用红颜色刻度线将它 m 等分,再用蓝色刻度线将其 n 等分(m>n),然后按所有刻度线将该木棍锯成小段,计算并输出长度最长的木棍的长度和根数。输入文件中仅有一行,包含三个正整数 L,m 和 n,两两之间用一个空格分隔。输出文件包含两个正整数 a 和 k,分别表示最长木棍的长度和根数。(为了简化题目的难度,所有的测试数据中 m 和 n 一定是 L 的约数)。两数间用一个空格分隔。输入样例 112 6 4输出样例 12 4#include
2021-01-21 13:40:33
723
原创 2021.1.3 信息学收获
冒泡排序:相邻的数进行排序,1轮过后,最大或最小数将在右边选择排序:用最小数的位置与待排序元素比较,取最大或最小,与第一位交换
2021-01-03 22:16:39
94
原创 爱的魔力转圈圈——2
第一层:1、输入 2、运算 3、输出第二层:1、判断函数 2、输入数据 3、循环输出结果第三层:计算循环T组每组判断循环计算出多个可能和每个可能和与k比较相等输出yes跳出循环不相等不跳出循环比较完了,都不相等,输出no跳出循环第四层:如何计算可能和 分组 一个相加,两个相加……以此类推第五层:有n种药物,第一种吃了能转a[1]圈有t[1]片,第二种吃了能转a[2]圈有t[2]片,以此类推,第n种吃了能转a[n]圈有t[n]片,有人想通过吃药来转k圈(k是正整数),能否满足,能则输
2020-09-03 21:37:07
163
原创 爱的魔力转圈圈
第一层:1、输入 2、运算 3、输出第二层:1、判断函数 2、输入数据 3、循环输出结果第三层:计算循环T组每组判断循环计算出多个可能和每个可能和与k比较相等输出yes跳出循环不相等不跳出循环比较完了,都不相等,输出no跳出循环第四层:如何计算可能和 分组 一个相加,两个相加……以此类推...
2020-09-03 19:32:15
132
原创 提取数位值
问题一:for和while的使用for语句是数量固定循环语句,例如:班级有44人比体重,如果体重大于70千克,记录。这道题比较数量固定可以用for循环。while语句是数量不固定循环语句,例如:如果记录恰好有10人体重大于70千克,停止记录。问题二:条件是什么当最高位除以十的商是0的时候,跳出循环。条件:while(n!=0)循环内部怎样执行从末尾开始每一位除以十的余数,把余数记录,原数更改为原数除以十的商。代码while(n!=0){ b=b*10+n%10; n/=10;(n=n/10) }
2020-09-01 22:24:38
209
原创 1204
1204:爬楼梯【题目描述】树老师爬楼梯,他可以每次走1级或者2级,输入楼梯的级数,求不同的走法数。例如:楼梯一共有3级,他可以每次都走一级,或者第一次走一级,第二次走两级,也可以第一次走两级,第二次走一级,一共3种方法。【输入】输入包含若干行,每行包含一个正整数N,代表楼梯级数,1≤N≤30。【输出】不同的走法数,每一行输入对应一行输出。【输入样例】5810【输出样例】83489#include <iostream>; using namespace std;
2020-07-16 16:04:28
100
原创 1190
1190:上台阶【题目描述】楼梯有n(71>n>0)阶台阶,上楼时可以一步上1阶,也可以一步上2阶,也可以一步上3阶,编程计算共有多少种不同的走法。【输入】输入的每一行包括一组测试数据,即为台阶数n。最后一行为0,表示测试结束。【输出】每一行输出对应一行输入的结果,即为走法的数目。【输入样例】12340【输出样例】1247#include <iostream>#include <cstdio>using namespace std
2020-07-15 16:59:08
265
原创 1207
1207:求最大公约数【题目描述】给定两个正整数,求它们的最大公约数。【输入】输入一行,包含两个正整数(<1,000,000,000)。【输出】输出一个正整数,即这两个正整数的最大公约数。【输入样例】6 9【输出样例】3二、解题思路采用辗转相除法。设有A,B两个数符合求取最大公约数,则 result = A % B,如果 result 不是最大公约数,则 A = B,B = result 循环求解,有最大公约数即结束程序。#include <iostream>
2020-07-14 16:58:39
304
原创 1201
1201:菲波那契数列【题目描述】菲波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。给出一个正整数a,要求菲波那契数列中第a个数是多少。【输入】第1行是测试数据的组数n,后面跟着n行输入。每组测试数据占1行,包括一个正整数a(1≤a≤20)。【输出】输出有n行,每行输出对应一个输入。输出应是一个正整数,为菲波那契数列中第a个数的大小。【输入样例】452191【输出样例】5141811问题分析:如果是第一项或第二项直接返回n,如
2020-07-10 17:41:08
658
原创 1206
1206:放苹果时间限制: 1000 ms 内存限制: 65536 KB提交数: 7502 通过数: 4794【题目描述】把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。【输入】第一行是测试数据的数目t(0≤t≤20)。以下每行均包含二个整数M和N,以空格分开。1≤M,N≤10。【输出】对输入的每组数据M和N,用一行输出相应的K。【输入样例】17 3【输出样例】8提交 统
2020-07-09 17:25:17
109
原创 1210
1210:因子分解时间限制: 1000 ms 内存限制: 65536 KB提交数: 4816 通过数: 3013【题目描述】输入一个数,输出其素因子分解表达式。【输入】输入一个整数 n (2≤n<100)。【输出】输出该整数的因子分解表达式。表达式中各个素数从小到大排列。如果该整数可以分解出因子a的b次方,当b大于1时,写做 a^b ;当b等于1时,则直接写成a。【输入样例】60【输出样例】2^235提交 统计信息 提交记录#include<
2020-07-08 17:03:26
199
原创 1200
1200:分解因数时间限制: 1000 ms 内存限制: 65536 KB提交数: 7085 通过数: 4035【题目描述】给出一个正整数a,要求分解成若干个正整数的乘积,即a=a1×a2×a3×…×an,并且1<a1≤a2≤a3≤…≤an,问这样的分解的种数有多少。注意到a=a也是一种分解。【输入】第1行是测试数据的组数n,后面跟着n行输入。每组测试数据占1行,包括一个正整数a(1<a<32768)。【输出】n行,每行输出对应一个输入。输出应是一个
2020-07-07 16:52:06
202
原创 1315
1315:【例4.5】集合的划分时间限制: 1000 ms 内存限制: 65536 KB提交数: 8647 通过数: 3675【题目描述】设S是一个具有n个元素的集合,S=⟨a1,a2,……,an⟩,现将S划分成k个满足下列条件的子集合S1,S2,……,Sk ,且满足:1.Si≠∅2.Si∩Sj=∅ (1≤i,j≤k,i≠j)3.S1∪S2∪S3∪…∪Sk=S则称S1,S2,……,Sk是集合S的一个划分。它相当于把S集合中的n个元素a1,a2,…
2020-07-06 17:01:41
1044
原创 1309
1309:【例1.6】回文数(Noip1999)时间限制: 1000 ms 内存限制: 65536 KB提交数: 7738 通过数: 2938【题目描述】若一个数(首位不为零)从左向右读与从右向左读都是一样,我们就将其称之为回文数。例如:给定一个 10进制数 56,将 56加 65(即把56从右向左读),得到 121是一个回文数。又如,对于10进制数87,STEP1: 87+78= 165 STEP2: 165+561= 726STEP3: 726+627=1353 ST
2020-07-03 16:40:53
241
原创 1173
1173:阶乘和时间限制: 1000 ms 内存限制: 65536 KB提交数: 6674 通过数: 3397【题目描述】用高精度计算出S=1!+2!+3!+…+n!(n≤50),其中“!”表示阶乘,例如:5!=5×4×3×2×1。输入正整数n,输出计算结果S。【输入】一个正整数n。【输出】计算结果S。【输入样例】5【输出样例】153提交 统计信息 提交记录#include <iostream>#include <cstring&g
2020-07-02 17:01:57
172
原创 1172
1172:求10000以内n的阶乘时间限制: 1000 ms 内存限制: 65536 KB提交数: 15613 通过数: 3915【题目描述】求10000以内n的阶乘。【输入】只有一行输入,整数n(0≤n≤10000)。【输出】一行,即n!的值。【输入样例】4【输出样例】24【来源】No提交 统计信息 提交记录#include <iostream>#include <cstdio>#include <cmath&g
2020-07-01 16:43:46
203
原创 1171
1171:大整数的因子时间限制: 1000 ms 内存限制: 65536 KB提交数: 5786 通过数: 3353【题目描述】已知正整数k满足2≤k≤9,现给出长度最大为30位的十进制非负整数c,求所有能整除c的k。【输入】一个非负整数c,c的位数≤30。【输出】若存在满足 c%k == 0 的k,从小到大输出所有这样的k,相邻两个数之间用单个空格隔开;若没有这样的k,则输出"none"。【输入样例】30【输出样例】2 3 5 6【来源】No提交 统计
2020-06-30 16:36:04
508
原创 1170
1170:计算2的N次方时间限制: 1000 ms 内存限制: 65536 KB提交数: 11005 通过数: 5692【题目描述】任意给定一个正整数N(N≤100),计算2的n次方的值。【输入】输入一个正整数N。【输出】输出2的N次方的值。【输入样例】5【输出样例】32【来源】No提交 统计信息 提交记录#include<iostream>#include<cstring>using namespace std;int
2020-06-29 16:58:20
170
原创 1308:【例1.5】高精除
1308:【例1.5】高精除时间限制: 1000 ms 内存限制: 65536 KB提交数: 6517 通过数: 2903【题目描述】高精除以高精,求它们的商和余数。【输入】输入两个低于300位的正整数。【输出】输出商和余数。【输入样例】123131231845757768789798764232456786432456787654324567142534675678686786786712313123187671417381783256784124141241
2020-06-28 17:00:43
439
转载 字符串的操作函数
1.应用于查找的find()函数#include#includeusing namespace std;int main(){string str;cin>>str;cout<<"ab在str中的位置:"<<str.find("ab")<<endl;//查找一个字符串出现的位置是找到该字符串第一个字符出现的位置cout<<"ab在str[2]str[n-1]范围的位置:"<<str.find("ab",2)<&
2020-06-26 20:02:08
131
原创 strcmp函数
strcmp函数是比较两个字符串的大小,返回比较的结果。一般形式是:i=strcmp(字符串,字符串);相关推荐:《常见问题》其中,字符串1、字符串2均可为字符串常量或变量;i 是用于存放比较结果的整型变量。比较结果是这样规定的:①字符串1小于字符串2,strcmp函数返回一个负值;②字符串1等于字符串2,strcmp函数返回零;③字符串1大于字符串2,strcmp函数返回一个正值。以上就是strcmp函数的作用是什么的详细内容,更多请关注php中文网其它相关文章!...
2020-06-26 19:38:30
749
原创 strcpy函数
他是字符串的复制 函数strcpy(字bai符du数组1,字符串2)作用就是 将字符串2复制到字符数zhi组1 中去dao例如 char str1[10]=’’,str2[]={“china”}strcpy(str1,str2); 这样str1[]数组的内容就是"china"相当于str1被str2取代了字符bai串复制。char *strcpy(char *dest,char *src);用法:#include <string.h>功能:把src所指du由NULL结束的字符串复制到de
2020-06-26 19:25:00
9244
转载 format的用法
以CString的Format举例,第一个参数是格式化字符串,就像printf的第一个参数一样,用%d表示int,%s表示char*,%u表示unsigned int,%hd表示short,%hu表示unsigned short,%hhd表示char,%hhu表示unsigned char,%f表示float等。后面的参数就是与格式化字符串中每个字段对应的类型变量。举例:int a = 10;int b = 100;CString str;str.Format("%d*%d=%d\n", a, b
2020-06-26 19:15:13
371
原创 memset用法
memset原型 (please type “man memset” in your shell)void *memset(void *s, int c, size_t n);memset:作用是在一段内存块中填充某个给定的值,它对较大的结构体或数组进行清零操作的一种最快方法。常见的三种错误第一: 搞反了c 和 n的位置.一定要记住 如果要把一个char a[20]清零, 一定是 memset(a, 0, 20)而不是 memset(a, 20, 0)第二: 过度使用memset, 我想这些程
2020-06-26 19:00:58
235
原创 1175:除以13
1175:除以13时间限制: 1000 ms 内存限制: 65536 KB提交数: 6481 通过数: 4026【题目描述】输入一个大于0的大整数N,长度不超过100位,要求输出其除以13得到的商和余数。【输入】一个大于0的大整数,长度不超过100位。【输出】两行,分别为整数除法得到的商和余数。【输入样例】2132104848488485【输出样例】1640080652683450【来源】No提交 统计信息 提交记录本题库与《信息学奥赛一本通(C++
2020-06-24 16:22:21
648
原创 1168:大整数加法
1168:大整数加法时间限制: 1000 ms 内存限制: 65536 KB提交数: 32029 通过数: 9728【题目描述】求两个不超过200位的非负整数的和。【输入】有两行,每行是一个不超过200位的非负整数,可能有多余的前导0。【输出】一行,即相加后的结果。结果里不能有多余的前导0,即如果结果是342,那么就不能输出为0342。【输入样例】2222222222222222222233333333333333333333【输出样例】5555555555
2020-06-23 15:37:04
968
原创 1169:大整数减法
1169:大整数减法1169:大整数减法时间限制: 1000 ms 内存限制: 65536 KB提交数: 14266 通过数: 8158【题目描述】求两个大的正整数相减的差。【输入】共2行,第1行是被减数a,第2行是减数b(a > b)。每个大整数不超过200位,不会有多余的前导零。【输出】一行,即所求的差。【输入样例】99999999999999999999999999999999999999999999999999【输出样例】9999999999
2020-06-22 16:17:00
1116
1
原创 1174:大整数乘法
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入1174:大整数乘法时间限制: 1000 ms 内存限制: 65536 KB提交数: 8810
2020-06-18 16:16:03
259
原创 1123题目、答案及错误
本网站由成都石室中学、福建长乐一中信奥教练联合呈现。题库教师群:307432527,仅供教师加入 stevens 修改资料作业或邮件(0)退出登录首页 排名 提交记录 题目列表 比赛 教师频道 关于1123:图像相似度时间限制: 1000 ms 内存限制: 65536 KB提交数: 14712 通过数: 9387【题目描述】给出两幅相同大小的黑白图像(用0-1矩阵)表示,求它们的相...
2020-05-04 22:31:13
992
原创 1123题目、答案及错误
本网站由成都石室中学、福建长乐一中信奥教练联合呈现。题库教师群:307432527,仅供教师加入 stevens 修改资料作业或邮件(0)退出登录首页 排名 提交记录 题目列表 比赛 教师频道 关于1123:图像相似度时间限制: 1000 ms 内存限制: 65536 KB提交数: 14712 通过数: 9387【题目描述】给出两幅相同大小的黑白图像(用0-1矩阵)表示,求它们的相...
2020-05-04 22:07:34
1458
原创 1123题目、答案和错误总结
本网站由成都石室中学、福建长乐一中信奥教练联合呈现。题库教师群:307432527,仅供教师加入 stevens 修改资料作业或邮件(0)退出登录首页 排名 提交记录 题目列表 比赛 教师频道 关于1123:图像相似度时间限制: 1000 ms 内存限制: 65536 KB提交数: 14712 通过数: 9387【题目描述】给出两幅相同大小...
2020-05-04 21:46:06
545
原创 1051重点思路
**1051题目:**1051:分段函数时间限制: 1000 ms 内存限制: 65536 KB提交数: 31164 通过数: 17925【题目描述】y=−x+2.5;0≤x<5y=−x+2.5;0≤x<5y=2−1.5(x−3)(x−3);5≤x<10y=2−1.5(x−3)(x−3);5≤x<10y=x2−1.5;10≤x<...
2020-04-04 16:42:26
121
原创 1086错误
1086题目:1086:角谷猜想时间限制: 1000 ms 内存限制: 65536 KB提交数: 30173 通过数: 17830【题目描述】谓角谷猜想,是指对于任意一个正整数,如果是奇数,则乘3加1,如果是偶数,则除以2,得到的结果再按照上述规则重复处理,最终总能够得到1。如,假定初始整数为5,计算过程分别为16、8、4、2、1。程序要求输入一个整数,将经过处理...
2020-03-29 21:46:43
401
原创 1070坑
**坑:**首次赋值要在赋值后、循环前。**1070题目:**1070:人口增长时间限制: 1000 ms 内存限制: 65536 KB提交数: 25877 通过数: 17900【题目描述】我国现有x亿人口,按照每年0.1%的增长速度,n年后将有多少人?保留小数点后四位。【输入】一行,包含两个整数x和n,分别是人口基数和年数,以单个空格分隔。【输...
2020-03-29 19:39:08
121
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人