- 博客(27)
- 收藏
- 关注
原创 名校训练系列 --p1001
题目描述给定一个长度为N(0< n< =10000)的序列,保证每一个序列中的数字a[i]是小于max long int的非负整数 ,编程要求求出整个序列中第k大的数字减去第k小的数字的值m,并判断m是否为质数。(0< k< =n)本题 考查:排序,因为数据量较大,建议使用效率较高的排序素数的判断,素数的特征源代码#include <bits/stdc++.h>using namespace std;typedef vector<int> e
2022-04-02 09:34:48
392
原创 统计单词个数
#include <iostream>#include <string>using namespace std;int main(){ string str; string text; int cnt=0; cin>>str; getchar(); getline(cin,text); string::size_type position = text.find(str); while(t
2022-03-16 19:30:49
205
原创 回文数(N进制)
题目若一个数(首位不为零)从左至右读从右至左读都一样,则称为回文数。现在提出一个理论,n进制的加法,需要通过几次相加才能得到回文数,如果再30步以内不能得到回文数,则输出-1;输出格式:两行,N与M输出格式:直接输出步数#include <bits/stdc++.h>using namespace std;string ss;string to_string(int m);int addtion(int N,int m);bool match(string str);
2022-03-13 16:44:23
1095
原创 getline函数解析
getline函数getline函数getline函数的参数是一个输入流和一个string对象函数从给定的输入流中读入内容,直到遇到换行符为止(注意换行符也被读进来了),然后把所读的内容存入到那个string对象中去(注意不存换行符)注意:getline只要一遇到换行符就结束读取操作并返回结果,哪怕输入的一开始就是换行符也是如此。如果输入真的一开始就是换行符,那么所得结果也是一个空stringgetline函数跟getchar函数类似都是从缓冲区获取字符数据,但是getline是以’\n’为读
2022-03-10 14:30:41
4030
原创 蓝桥杯---史丰收速算
#include <bits/stdc++.h>using namespace std;/* *速算的核心基础是:1位数乘以多位数的乘法。其中,乘以7是最复杂的,就以它为例。因为,1/7 是个循环小数:0.142857...,如果多位数超过 142857...,就要进1同理,2/7, 3/7, ... 6/7 也都是类似的循环小数,多位数超过 n/7,就要进n下面的程序模拟了史丰收速算法中乘以7的运算过程。乘以 7 的个位规律是:偶数乘以2,奇数乘以2再加5,都只取个位
2022-03-03 18:07:23
278
原创 学生成绩对象的建立
#include <iostream>using namespace std;enum Level {FRESHMAN,SOPHOMORE,JUNIOR,SENIOR};enum Grade {A,B,C,D};class Student{public: Student(unsigned number,Level level,Grade grade) :number(number),level(level),grade(grade){} void sh
2021-12-20 21:13:24
178
原创 进制转换问题--定长16进制转8进制(任意进制)
本程序时间和空间的把控,相对于大多数训练的同学来说,可以说是完美了,但是任有优化的余地。我已经有了解决方案,但是,如果写的太好,反而埋没了同学们的天分。直接给源码,不做批注,这是你们思考中,做的事情。遇到,不定长的处理方式,我群里做了严谨的叙述,我希望大家,可以自己写出来。#include <iostream>#include <cstring>using namespace std;const char hexCode[16][5]={"0000","0001","
2021-12-10 20:44:23
540
原创 对银行存储用户对象的描述
//4.9_cpp#include <iostream>#include <cmath>using namespace std;class SavingsAccount{//储蓄账户类private: int id; //账号 double balance; //余额 double rate; //存款的年利率 int lastDate; //上次变更余额的时期 double
2021-11-30 20:43:56
129
原创 c++练习题1-对象圆的建立
题目要修建一个泳池,请根据泳池的面积,计算出所需要的栅栏造价和走道造价。过道水泥单价:20栅栏的单价 :35//4.3.cpp#include <iostream>using namespace std;const float PI = 3.141593;//给出PI的值const float FENCE_PRICE = 35;//栅栏的单价const float CONCRETE_PRICE = 20;//过道水泥单价class Circle{ //声明定义类Cir
2021-11-30 19:09:21
387
原创 复制构造函数
//4_2.cpp#include <iostream>using namespace std;class Point { //Point 类的定义public: //外部接口 Point(int xx = 0, int yy = 0) { //构造函数 x = xx; y = yy; } Point(const Point &p); //拷贝构造函数 void setX(int xx) {x=xx;} void setY(int yy) {y=yy;
2021-11-30 19:05:02
484
原创 类的组合c++
//例4-4 类的组合 ,线段line类#include <iostream>#include <cmath>using namespace std;class Point{//Point类的定义public: Point(int xx=0,int yy=0){ x=xx; y=yy; } Point(Point &p); inline int getX(){return x;} inline in
2021-11-28 17:13:18
479
原创 c++构建函数的例子
例子一自定义构造函数#include <iostream>using namespace std;class Clock{public: Clock(int newH,int newM,int newS); void setTime(int newH=0,int newM =0,int newS=0); void showTime() const;private: int hour,minute,second;};void Clock::setTi
2021-11-28 16:42:54
660
原创 串匹配系统函数解法,使用strstr函数
题目#include <iostream>#include <cstring>using namespace std;/* * 系统函数求解串匹配问题 */char t[1000];//文本串char p[1000];//模式串void overturn(char *pattern)//将模式串翻转{ unsigned int i=0; while(pattern[i]!=0) { switch(pattern
2021-11-27 15:39:39
291
原创 学生成绩管理系统程序设计(linuxC)
学生成绩管理系统程序设计(linux C)本程序设计思想是利用单链表来实现数据的管理,结合文件来实现信息的存贮和提取,整体采用了模块化编程。头文件部分:#include <stdio.h>#include <string.h>#include <math.h>#include <stdlib.h>#include <malloc.h>#include <unistd.h>#include <signal.h>
2021-11-27 14:53:58
1315
原创 kmp算法实现串匹配
#include <iostream>#include <cstring>using namespace std;/* * 因为碱基对配对只有A T G C 四种基本碱基,极其容易出现重复序列,故采用kmp算法 * 来解决问题 */char t[1000];//文本串char p[1000];//模式串int * nextBuild(const char *pattern){ size_t m=strlen(pattern),j=0; int
2021-11-27 14:46:34
403
原创 kmp算法next表构建函数---已改良
#include <iostream>#include <cstring>using namespace std;int *nextBuild(char *p){ size_t m=strlen(p),j=0; int *n=new int[m]; int t=n[0]=-1; while(j<m-1) { if(t<0||p[j]==p[t]) { t++;j++;
2021-11-27 10:50:19
480
原创 递归补充---hanoi塔
hanoi#include "iostream"using namespace std;void move(char sta,char des){ cout<<sta<<">>"<<des<<endl;}void hanoi(int n,char sta,char mid,char des){ if(n==1) move(sta,des); else { hanoi(
2021-11-22 13:30:44
337
原创 斐波那契数列c++实现
递归补充编写递归数列int fib(int n),在主程序中输入n的值,调用fib函数计算fibonacci级数公式自行百度:#include <iostream>using namespace std;int fib(int n){ cout<<"Processing fib("<<n<<")..."; if(n<3) { cout<<"Return 1!\n"; ret
2021-11-22 13:23:59
1537
原创 arctan计算方法
arctan计算方法double arctan(double x){ double sqr=x*x; double e=x; double r=0; int i=1; while(e/i >1e-15) { double f=e/i; r=(i%4==1)?r+f:r-f; e=e*sqr; i+=2; } cout<<i; return r;}
2021-11-21 16:47:26
5140
原创 回文数判断
题目相比于之前回文的处理方法,这次是我看到了新的方式,于是做一个记录。/*#include <iostream>using namespace std;double arctan(double x){ double sqr=x*x; double e=x; double r=0; int i=1; while(e/i >1e-15) { double f=e/i; r=(i%4==1)?r+f:r
2021-11-21 16:44:11
372
原创 蓝桥杯迷宫---c语言实现
题目标题:迷宫X星球的一处迷宫游乐场建在某个小山坡上。它是由10x10相互连通的小房间组成的。房间的地板上写着一个很大的字母。我们假设玩家是面朝上坡的方向站立,则:L表示走到左边的房间,R表示走到右边的房间,U表示走到上坡方向的房间,D表示走到下坡方向的房间。X星球的居民有点懒,不愿意费力思考。他们更喜欢玩运气类的游戏。这个游戏也是如此!开始的时候,直升机把100名玩家放入一个个小房间内。玩家一定要按照地上的字母移动。迷宫地图如下:UDDLUULRULUURLLLRRRUR
2021-11-20 16:59:15
817
原创 蓝桥杯世界赛b题网站扩张c++/c实现
网站扩张题目题目分析本题,是一个典型的递归类问题,递归类问题,可以使用递归函数来解决,参照斐波那契数列的写法,可以仿写出来(初学者而言)对于参赛选手的我们要学会分析问题,并将其转化为代码语言,代码量很少,难在思维,如果同学们可以理解并掌握思维方法,那么在少的代码量和好的代码风格将是得分的利器。话不多说,正式开始分析,本题。我们从题目可以知道,当天数也就是n小于或等于7天是,发展的人数只有一人,同样新推广出来的人也必须要超过七天才可以推广新的人,那么我们对天数进行分析,如果从推广第一个人开始,
2021-11-20 16:22:13
829
2
原创 仓库布局问题c++实现
本周习题c题目前言经查阅网络上的,答案很多分析都不到位,代码复杂不说,而且逻辑混乱,随便测试几种情况答案就不符合。故写下这篇文章来解决问题问题分析:列分析读题可知,不管你有多少列,每出现5个就要空一列那么这个条件如何转化为代码语言呢?思考一会儿,我们选择枚举+数学归纳即可列每行储物柜的个数11223344556576不难发现,当出现6的时候储物柜空了出来,也就是说每有6列就要少一列储物柜数量=列数-列
2021-11-18 16:06:05
717
原创 蓝桥杯真题---猜年龄
题目美国数学家维纳(N.Wiener)智力早熟,11 岁就上了大学。他曾在 1935~1936 年应 邀来中国清华大学讲学。一次,他参加某个重要会议,年轻的脸孔引人注目。于是 有人询问他的年龄,他回答说:“我年龄的立方是个 4 位数。我年龄的 4 次方是个 6 位数。这 10 个数字正好包含了从 0 到 9 这 10 个数字,每个都恰好出现 1 次。” 请你推算一下,他当时到底有多年轻。解决方案:flag标记法空间复杂度:20时间复杂度:o(n)首先对题目进行分析:年龄的立方是4位数,可以确定扫描
2021-10-31 16:57:12
647
原创 c语言编程题求1!+2!+···+n!
#include <stdio.h>int fac(int a){return a1||a0 ? a:(fac(a-1)-fac(a-2))*a+fac(a-1);}int main(){int a;printf(“请输入n:”);scanf("%d",&a);printf(“1!+2!+···+%d=%d\n”,a,fac(a));return 0;}
2021-01-05 10:12:07
2362
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人