
强基计划C++2级
文章平均质量分 65
伤我者亡
社交从简,非同道者,不必深交。
展开
-
第12课 求连续一段相同的数
中间值是一个值M,至少一半的数=M。100%的数据:1原创 2023-12-09 16:45:56 · 824 阅读 · 2 评论 -
第11课 简单的下标计数
一年一度的信息学奥林匹克总结大会准备召开了,但大会负责人Mr.Huang却遇到了麻烦,参加会议的各中小学信息学教练都非常非常忙,因为他们不但要担任竞赛的辅导工作,而且还有常规的教学工作,有的还担任学校的行政职务,因此要召集他们都来开会是一件非常困难的事,为了让更多的人来参加会议,时间的选择非常关键。自然是能来的人越多越好,在这个前提下,请你确定某一天开会,如何能来的人数相同的话,会越早开越好,当然如何与会人数小于组委会设定的最少人数,会议将被取消。数轴上的每个整数点,即0,1,2,。,L,都种有一棵树。原创 2023-12-06 20:52:00 · 470 阅读 · 0 评论 -
简单的枚举
枚举类型(enumeration)是 C++ 中的一种派生数据类型,它是由用户定义的若干枚举常量的集合。定义格式:枚举类型的定义格式为:enum {};原创 2023-11-12 21:40:54 · 92 阅读 · 4 评论 -
简单的递推
在数学上,斐波纳契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n>=2,n∈N*)在现代物理、准晶体结构、化学等领域,斐波纳契数列都有直接的应用,为此,美国数学会从1963起出版了以《斐波纳契数列季刊》为名的一份数学杂志,用于专门刊载这方面的研究成果。如经典的斐波那契数列问题,⽤ f (i)表⽰第i 项的值,则 f (1) =0,f(2) =1,在 n>2 时,存在递推关系:f (n) = f(n-1) + f(n-2)。其中,初始的若⼲数据项称为“递推边界”。原创 2023-11-12 21:37:50 · 78 阅读 · 1 评论 -
周期问题(周期问题)
在我们的生活中,有很多按照一定规律反复出现、周而复始不断循环的自然现象或客观事件,比如一年中春夏秋冬四季轮回、一周中星期一到星期日7天循环、一天中24个小时不停轮转……像这种带有周期性规律出现的现象,我们统称为“周期现象”。在数学及信息学中,我们将带有周期性规律的问题,统称为“周期问题”。最后,利用对应关系,明确余数在周期内的位置,从而得到答案。首先,认真审题,找出题目中重复出现的规律,确定周期;然后,用所求数据除以周期数,得出余数;原创 2023-11-12 21:36:54 · 238 阅读 · 3 评论 -
模拟算法课
第i天可以领到i块钱,如果小明领到零花钱后,手上的零花钱是3的倍数时,小明就会将他手上所有零花钱的三分之一存在妈妈那里(假设小明的零花钱从来不花。竞赛题目中一般都会给出输入输出样例,以便检查程序的输入输出格式是否正确,但这些样例往往会比竞赛时评判所用的测试数据简单,所以你不能满足于通过这些样例,还要尽量自拟一些更复杂、更全面的测试数据来检查程序的正确性。所谓模拟法,就是用计算机模拟某个过程,通过改变数学模型的各种参数,进而观察变更这些参数所引起的过程状态的变化,然后从中得出解答。原创 2023-11-11 16:00:14 · 65 阅读 · 3 评论 -
实型变量与格式化输入输出(实型变量与格式化输入输出)
(2)“%d”叫做格式控制符,格式控制符代表了输入或输出的“格式说明”,%d表示输入的数据是整数。scanf和printf的使用方法是一样的,只不过前者比后者在变量前多了个“&”号,这些变量跟前面的格式控制符是一一顺序对应的。2.数据类型float是单精度浮点数,double叫做双精度浮点数,比float更加精确,它对应的格式控制符是%lf,注意是字母l,而不是数字1!例如427的宽度是3,而指定域宽是5,则输出的就会自动前面补充2个空格:□□427(用□表示空格);指定域宽是2,则按原宽输出427。原创 2023-11-11 15:59:16 · 355 阅读 · 7 评论 -
sort函数
现在要对存储在一个数组a[100005]中的10^5个数进行排序,不管是使用选择排序、冒泡排序,还是插入排序,时间复杂度都是100000*100000=10^10,这样子就会导致程序超时。I)Sort函数包含在头文件为#include的c++标准库中,调用标准库里的排序方法可以不必知道其内部是如何实现的,只要出现我们想要的结果即可!我们在解题的时候,数组不是想开多大就能开多大的,也是有一定的限制,一般题目的空间大小限制为256MB。sort函数没有第三个参数,实现的是从小到大。原创 2023-11-11 15:57:11 · 209 阅读 · 2 评论 -
选择排序(选择排序)
分析:要把5个数按从大到小顺序排列,则排完后,第一个数最大,第二个数次大,……因此,我们第一步可将第一个位置的数与其后的各个数依次比较,若发现有数比它大的,则互相交换位置,这样结束后,第一个位置的数就是最大的数。就像我们排队是从高到矮一样,将同一类型的数据按一定顺序(从大到小或从小到大)排列称为排序。if (a[i]原创 2023-11-11 15:54:42 · 75 阅读 · 2 评论 -
元素的移动、插入、删除
明明帮助老师按学号顺序把402班的数学成绩输入到电脑,完成输完后发现18号同学的成绩忘记输入,使得后面所有同学的成绩都错位了。a[n-1]=a[n],实现其余元素前移。例如:在5个数据的数组中,删除数组中位置3的元素,可以直接把数组a[3]后面的数组元素往前移动一位:。将数组中位置2的元素移动到位置1,可以写成:a[1]=a[2],注意此时原位置1的被覆盖。将a数组中第一个元素移动到数组末尾,其余数据依次往前平移一个位置,可以按如下步骤实现:。元素的插入:在数组的特定位置插入一个新的元素。原创 2023-11-11 15:48:08 · 407 阅读 · 2 评论 -
一维数组最值问题(最值问题)
(3)如果该数组元素大于maxx,则将该数组元素值赋值给maxx,同时将该元素的下标值赋值给pos;i++) //数组元素依序跟maxx比较。i++) //数组元素依序跟maxx比较。从键盘读入n(1原创 2023-11-11 15:44:58 · 395 阅读 · 3 评论 -
一维数组的初步认识(一维数组的定义、输入、输出、赋值、查找、统计)
定义格式如下:类型名 数组名 [常量表达式];例如:int a[10];说明:(1)类型名是指数组元素的类型,它可以是任何类型,同一个数组中的元素具有相同类型。因此我们可以说,数组是由固定数量的相同类型的元素组成。上面例子中int说明这个数组的类型是整数类型。(2)数组名必须是标识符,而数组元素的个数由常量表达式决定,这个值必须是正整数常量表达式,不能是变量或含有变量的表达式。上面例子中a是这个数组的数组名,[10]是这个数组元素的个数。(3)数组元素的个数由常量表达式决定,数组下标从0开始。原创 2023-11-11 15:43:34 · 982 阅读 · 3 评论