- 博客(251)
- 资源 (22)
- 收藏
- 关注
原创 信息学奥赛一本通:1160:倒序数
①递归必须设置一个明确的终止条件,当满足该条件时,递归停止;PS : 如果一个递归没有设置终止条件,那么它会无限制地递归下去,形成死递归(类似于死循环),称为“死龟了”。“ 递归的强大之处在于它允许用户用有限的语句描述无限的对象。因此,在计算机科学中,递归可以被用来描述无限步的运算,尽管描述运算的程序是有限的。②一个使用了递归的函数,其处理的数据规模一定是在递减的。即,一个有效的递归,它的递归总次数是一定的,执行的次数越多,剩余的规模就越小。这里的“比较”,指的是递归和循环的比较。——尼克劳斯·维尔特。
2024-04-23 08:46:43 266
原创 信息学奥赛一本通:1159:斐波那契数列
【题目描述】用递归函数输出斐波那契数列第n项。0,1,1,2,3,5,8,13……【输入】一个正整数n,表示第n项。【输出】第n项是多少。【输入样例】3【输出样例】1【参考程序一】#include<bits/stdc++.h>using namespace std;int fb(int a){ if(a==1) { return 0; } else if(a==2) { return 1; } e
2024-04-20 13:01:49 453
原创 信息学奥赛一本通:1413:确定进制
例如:p=11, q=11, r=121.则有11(3)× 11(3)= 121(3)因为 11(3)= 1 × 31+ 1 × 30= 4(10)和121(3)=1×32+2×31+1×30=16(10)。对于进制 10,同样有11(10)× 11(10)= 121(10)。即, 6(13)× 9(13)= 42(13), 而 42(13)=4×131+2×130=54(10)。你的任务是写一段程序,读入三个整数p、q和 r,然后确定一个进制 B(2<=B<=40) 使得 p × q = r。
2024-04-19 10:07:48 518
原创 信息学奥赛一本通:二维数组
二维数组的初始化和一维数组类似。可以将每一行分开来写在各自的括号里,也可以把所有数据写在一个括号里。int direct[4][2] = {1,0,0,1,-1,0,0,-1} //尽量不要用。
2024-04-18 17:11:32 198
原创 信息学奥赛一本通:一维数组
其中,a是一维数组的数组名,该数组有10个元素,依次表示为:a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]。当在说明部分定义了一个数组变量之后,C++编译程序为所定义的数组在内存空间开辟一串连续的存储单元,每个数组第一个元素的下标都是0,因此第一个元素为第0个数组元素。通过给出的数组名称和这个元素在数组中的位置编号(即下标),程序可以引用这个数组中的任何一个元素。(2)数组的精妙在于下标可以是变量,通过对下标变量值的灵活控制,达到灵活处理数组元素的目的。
2024-04-17 10:32:56 241
原创 信息学奥赛一本通:1411:区间内的真素数
【题目描述】找出正整数M和N之间(N不小于M)的所有真素数。真素数的定义:如果一个正整数P为素数,且其反序也为素数,那么P就为真素数。例如,11,13均为真素数,因为11的反序还是为11,13的反序为31也为素数。【输入】输入两个数M和N,空格间隔,1<=M<=N<=100000。【输出】按从小到大输出M和N之间(包括M和N)的真素数,逗号间隔。如果之间没有真素数,则输出No。【输入样例】10 35【输出样例】11,13,17,
2024-04-17 10:19:53 602
原创 信息学奥赛一本通:函数参数调用
在此例中,虽然在swap函数中交换了a,b两数的值,但是在main中却没有交换。因为swap函数只是交换c,d两变量副本的值,实参值没有改变,并没有达到交换的目的。
2024-04-16 08:55:59 241
原创 信息学奥赛一本通:1410:最大质因子序列
【题目描述】任意输入两个正整数m,n(1<m<n≤5000),依次输出m到n之间每个数的最大质因子(包括m和n;如果某个数本身是质数,则输出这个数自身)。【输入】一行,包含两个正整数m和n,其间以单个空格间隔。【输出】一行,每个整数的最大质因子,以逗号间隔。【输入样例】5 10【输出样例】5,3,7,2,3,5【参考程序一】 isShushu(int a):这是一个用于判断给定整数a是否为质数的函数。 函数首先将标
2024-04-16 08:47:50 283
原创 信息学奥赛一本通:结构体(struct)的使用
a表示要排序的数组,含n个元素,而cmp是判定条件。return i<j;这样子写结果就是从小到大排序👇;//这样就是从大到小排序return i>j;double,float 等类型换一个参数类型即可;bool cmp(student i , student j) //注意类型变了int main()int n;//这里写输入//这里再测试一下输出对不对。
2024-04-15 08:59:02 697
原创 信息学奥赛一本通:1409:判决素数个数
质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数(规定1既不是质数也不是合数)。质数的个数是无穷的。欧几里得的《几何原本》中有一个经典的证明。反证法。具体证明如下:假设质数只有有限的n个,从小到大依次排列为p1,p2,……,pn,设N=p1×p2×……×pn。如果为素数,则 要大于p1,p2,……,pn,所以它不在那些假设的素数集合中。如果N+1为合数,因为任何一个合数都可以分解为几个素数的积;而N和N+1的最大公约数。
2024-04-15 08:45:39 958
原创 信息学奥赛一本通:1408:素数回文数的个数
【题目描述】求11到n之间(包括n),既是素数又是回文数的整数有多少个。【输入】一个大于11小于1000的整数n。【输出】11到n之间的素数回文数个数。【输入样例】23【输出样例】1【提示】提示:回文数指左右对称的数,如:292,333。【参考程序一】isShushu函数通过一个循环从 2 到该数的平方根进行检查,如果能被整除,则说明不是素数,设置标志为假并退出循环。最后返回标志的值,表示是否是素数。isHu
2024-04-13 13:22:41 183
原创 信息学奥赛一本通:1407:笨小猴
这种方法的具体描述如下:假设maxnmaxn是单词中出现次数最多的字母的出现次数,minnminn是单词中出现次数最少的字母的出现次数,如果maxn−minnmaxn−minn是一个质数,那么笨小猴就认为这是个Lucky WordLucky Word,这样的单词很可能就是正确的答案。第二行是一个整数,如果输入单词是Lucky WordLucky Word,输出maxn−minnmaxn−minn的值,否则输出00。只有一行,是一个单词,其中只可能出现小写字母,并且长度小于100100。
2024-04-13 13:22:02 247
原创 信息学奥赛一本通:1405:质数的和与积
i<=sqrt(a);break;i<S;i*j:max;cout<<max;return 0;【输出样例】int f(int x) //判断素数i<=sqrt(x);cin>>s;//输入正整数si>=2;i--) //和为定值的两个数,越接近,数越大,因此从中间拆分。
2024-04-12 09:06:35 108
原创 信息学奥赛一本通:1404:我家的门牌号
题目描述】我家住在一条短胡同里,这条胡同的门牌号从1开始顺序编号。若其余各家的门牌号之和减去我家门牌号的两倍,恰好等于n,求我家的门牌号及总共有多少家。数据保证有唯一解。【输入】一个正整数n。n<100000。【输出】一行,包含两个正整数,分别是我家的门牌号及总共有多少家,中间用单个空格隔开。【输入样例】100【输出样例】12 16【参考程序一】
2024-04-11 11:56:57 580
原创 信息学奥赛一本通:1403:素数对
所有小于等于n的素数对。每对素数对输出一行,中间用单个空格隔开。若没有找到任何素数对,输出empty。两个相差为2的素数称为素数对,如5和7,17和19等,本题目要求找出所有两个数均不大于n的素数对。一个正整数n(1≤n≤10000)。
2024-04-11 11:48:37 206
原创 信息学奥赛一本通:1402:Vigenère密码
称加密后的信息为密文,用C表示;而密钥是一种参数,是将明文转换为密文或将密文转换为明文的算法中输入的数据,记为k。对于100%的数据,输入的密钥的长度不超过100,输入的密文的长度不超过1000,且都仅包含英文字母。例如,明文M=Helloworld,密钥k=abc时,密文C=Hfnlpyosnd。第二行为一个字符串,表示经加密后的密文,长度不超过1000,其中仅包含大小写字母。第一行为一个字符串,表示密钥k,长度不超过100,其中仅包含大小写字母。输出共1行,一个字符串,表示输入密钥和密文所对应的明文。
2024-04-10 14:02:47 387
原创 信息学奥赛一本通:1401:机器翻译
对于每个英文单词,软件会先在内存中查找这个单词的中文含义,如果内存中有,软件就会用它进行翻译;如果内存中没有,软件就会在外存中的词典内查找,查出单词的中文含义然后翻译,并将这个单词和译义放入内存,以备后续的查找和翻译。每当软件将一个新单词存入内存前,如果当前内存中已存入的单词数不超过M−1,软件会将新单词存入一个未使用的内存单元;若内存中已存入M 个单词,软件会清空最早进入内存的那个单词,腾出单元来,存放新单词。7.5 4 1:查找单词1并调入内存替代单词2。1.1:查找单词1并调入内存。
2024-04-10 13:54:39 232
原创 信息学奥赛一本通:1400:统计单词数
【题目描述】一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次数。现在,请你编程实现这一功能,具体要求是:给定一个单词,请你输出它在给定的文章中出现的次数和第一次出现的位置。注意:匹配单词时,不区分大小写,但要求完全匹配,即给定单词必须与文章中的某一独立单词在不区分大小写的情况下完全相同(参见样例1),如果给定单词仅是文章中某一单词的一部分则不算匹配(参见样例2)。【输入】第 1 行为一个字符串,其中只含字母,表示给定
2024-04-10 13:50:22 635
原创 信息学奥赛一本通:1399:甲流病人初筛
目前正是甲流盛行时期,为了更好地进行分流治疗,医院在挂号时要求对病人的体温和咳嗽情况进行检查,对于体温超过37.5度(含等于37.5度)并且咳嗽的病人初步判定为甲流病人(初筛)。其后有n行,每行是病人的信息,包括三个信息:姓名(字符串,不含空格,最多8个字符)、体温(float)、是否咳嗽(整数,1表示咳嗽,0表示不咳嗽)。按输入顺序依次输出所有被筛选为甲流的病人的姓名,每个名字占一行。之后在输出一行,表示被筛选为甲流的病人数量。总的来说,这段代码的目的是根据一定的条件对输入的数据进行处理和统计。
2024-04-10 13:37:03 215
原创 信息学奥赛一本通:1398:短信计费
【题目描述】用手机发短信,一条短信资费为0.1元,但限定一条短信的内容在70个字以内(包括70个字)。如果你一次所发送的短信超过了70个字,则会按照每70个字一条短信的限制把它分割成多条短信发送。假设已经知道你当月所发送的短信的字数,试统计一下你当月短信的总资费。【输入】第一行是整数n,表示当月发送短信的总次数,接着n行每行一个整数,表示每次短信的字数。【输出】输出一行,当月短信总资费,单位为元,精确到小数点后1位。【输入样例】103949426144147427235。
2024-04-08 08:59:47 228
原创 信息学奥赛一本通:1397:简单算术表达式求值
【题目描述】两位正整数的简单算术运算(只考虑整数运算),算术运算为:+,加法运算;-,减法运算;*,乘法运算;/,整除运算;%,取余运算。算术表达式的格式为(运算符前后可能有空格):运算数 运算符 运算数请输出相应的结果。【输入】一行算术表达式。【输出】整型算数运算的结果(结果值不一定为2位数,可能多于2位或少于2位)。【输入样例】32+64【输出样例】96【参考程序一】定义了一个名为calc的函数,它接受两个整数a和b以及一个字符c作为参数,并根据c。
2024-04-08 08:54:18 647
原创 信息学奥赛一本通:1157:哥德巴赫猜想
【题目描述】哥德巴赫猜想的命题之一是:大于6 的偶数等于两个素数之和。编程将6~100所有偶数表示成两个素数之和。【输入】(无)【输出】分行输出:例如:6=3+38=3+5...(每个数只拆开一次,请保证第一个加数最小)【输入样例】(无)【输出样例】(无)【参考程序一】函数用于判断一个数是否为素数。它通过从 2 到sqrt(n)遍历,如果存在能整除n的数,就返回false,表示不是素数;否则返回true,表示是素数。gedebahe()
2024-04-07 08:41:04 599
原创 信息学奥赛一本通:1156:求π的值
【题目描述】根据公式:和定义函数 arctanx(x),求当最后一项小于10−6时π的值。【输入】(无)【输出】π的值。保留到小数点后10位。【输入样例】(无)【输出样例】(无)【参考程序一】【参考程序二】
2024-04-07 08:34:27 310
原创 信息学奥赛一本通:1155:回文三位数
如果一个数从左边读和从右边读都是同一个数,就称为回文数。例如6886就是一个回文数,求出所有的既是回文数又是素数的三位数。首先检查数字的个位数是否等于百位数。如果不满足这个条件,直接返回。这个函数的目的是判断一个数是否同时满足是回文数和质数这两个条件。需要在程序前加上头文件#include<math.h>所有的既是回文数又是素数的三位数。到该数的平方根进行检查。中,sqrt(a)的含义是a的平方根。,则说明该数是回文数且是质数,返回。如果满足上述条件,使用一个循环从。整除,说明它不是质数,返回。
2024-04-03 08:49:49 395
原创 信息学奥赛一本通:1154:亲和数
自然数a的因子是指能整除a的所有自然数,但不含a本身。例如12的因子为:1,2,3,4,6。若自然数a的因子之和为b,而且b的因子之和又等于a,则称a,b为一对“亲和数”。求最小的一对亲和数(ab)。2、while循环条件,将子函数返回的因子和b在进行子函数判断与源输入数a进行判断;1、使用循环语句do-while,从小到大依次将需要判断的数传递给子函数,返回b;1、定义子函数,满足求出该数的所有因子。1行,分别为a和b(a
2024-04-03 08:44:08 294
原创 信息学奥赛一本通:1153:绝对素数
如果一个自然数是素数,且它的数字位置经过对换后仍为素数,则称为绝对素数,例如13。试求出所有二位绝对素数。这个函数的目的是通过两次判断来确定一个数是否为素数的边界数。所有二位绝对素数(由小到大,一个数一行)。用于标记是否为素数的边界数,初始化为。转换为十位和个位的组合,并存储在。能被其中的某个数整除,标记。能被其中的某个数整除,返回。是否为素数的边界数。最后,如果整个过程中。
2024-04-02 15:38:09 111
原创 信息学奥赛一本通:1152:最大数max(x,y,z)
输入a,b,c,求m。把求三个数的最大数max(x,y,z)分别定义成函数和过程来做。函数通过比较三个参数的值,最终返回其中的最大值。:这是函数的定义,函数名为。的大小,并将较大的值赋给。求m,保留到小数点后三位。创建子函数max()
2024-04-02 08:42:11 258
原创 信息学奥赛一本通:1151:素数个数
质数是指在大于 1 的自然数中,除了 1 和它本身以外不再有其他因数的。编程求2∼n(n为大于2的正整数)中有多少个素数。如果循环结束后都没有返回,说明没有找到能整除。1、创建子函数 isperim()输入n(2≤n≤50000)。如果在遍历过程中发现。
2024-04-01 09:08:50 189
原创 信息学奥赛一本通:1150:求正整数2和n之间的完全数
完全数是指它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身,例如 6、28 等都是完全数。完全数:因子之和等于它本身的自然数,如6=1+2+36=1+2+3。求正整数2和n之间的完全数(一行一个数)。输入n(n≤5000)。1、创建子函数 wanquanshu()的所有因子之和等于它本身,函数返回。一行一个数,按由小到大的顺序。
2024-04-01 09:04:17 295
原创 电子学会等级考试二级:反反复复
Mo和Larry发明了一种信息加密方法。他们首先决定好列数,然后将信息(只包含字母)从上往下依次填入各列,并在末尾补充一些随机字母使其成为一个完整的字母矩阵。例如,若信息是“There's no place like home on a snowy night”并且有5列,Mo会写成:t o i o y h p k n n e l e a i r a h s g e c o n h s e m o t n l e w x 注意Mo只会填入字母,且全部是小写形式。在这个例子中
2024-03-29 08:43:22 401
原创 电子学会等级考试二级:错误探测
给定n*n由0和1组成的矩阵,如果矩阵的每一行和每一列的1的数量都是偶数,则认为符合条件。你的任务就是检测矩阵是否符合条件,或者在仅改变一个矩阵元素的情况下能否符合条件。"改变矩阵元素"的操作定义为0变成1或者1变成0。如果矩阵符合条件,则输出OK;如果矩阵仅改变一个矩阵元素就能符合条件,则输出需要改变的元素所在的行号和列号,以一个空格分开。如果不符合以上两条,输出Corrupt。输入n + 1行,第1行为矩阵的大小n(0 < n < 100),以下n行为矩阵的每一行的元素,元素之间以一个空格分开。
2024-03-28 08:53:52 137
原创 电子学会等级考试一级:最大质因子
质因子是指能整除给定正整数的质数。而最大质因子是指一个整数的所有质因子中最大的那个。质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。比如30的质因子有2,3, 5,所以最大质因子就是5。一个整数N( 2 ≤ N ≤ 10000)的所有质数因子,并输出它们。总的来说,这段代码的目的是找出给定整数。这是一个嵌套的循环结构,用于找出。从用户输入中读取一个整数赋值给。引入标准 C++命名空间。函数是程序的入口点。
2024-03-27 08:50:49 255
原创 电子学会等级考试一级:求满足条件的 3 位数
例如: 我们要判断一个数是不是质数,只需要判断 2 ~ n开根号 之间有没有可以整除的数就可以了。输入一个数 n,n 的大小不超过实际满足条件的 3 位数的个数。等级考试,2020 年 12 月,一级,第五题。输出为第 n 个满足条件的 3 位数(升序)例如,100同时满足上面两个条件。sqrt() 用来求给定值的平方根。1、通过sqrt()
2024-03-26 11:36:55 385
原创 电子学会等级考试二级:按照个位数排序
♣②:接着将待插入的数据与有序区间的最后一个数进行比较,因为默认选择升序,遇到比tmp大的数据,需要把a[end]往后挪,然后下标往前走,直到(end<0)或者是在中途比较的过程中发现有比待插入数据还要小或者相等的数,就停止比较,跳出这个循环。♣①:首先对于单趟的插入,因为是要将一个数插入到一个有序区间中去,假设区间的最后一个位置为(end),那这个待插入数据的位置就是(end+1),因为插入过程中这个数据存在被覆盖的可能,我们先用一个变量tmp保存起来,的时候,就用到了此思想。
2024-03-25 13:31:50 997
原创 电子学会等级考试二级:出书最多
假设m本图书编号为整数(1到999),作者的姓名为字母('A'到'Z'),请根据图书作者列表找出参与编著图书最多的作者和他的图书列表。第一行为所进图书数量m,其余m行,每行是一本图书的信息,其中第一个整数为图书编号,接着一个空格之后是一个由大写英文字母组成的没有重复字符的字符串,每个字母代表一个作者。代码,主要用于统计输入的字符串中每个字母出现的次数,并找出出现次数最多的字母及其出现的次数,最后输出出现次数最多的字母和其出现的次数,以及包含该字母的所有字符串。输出有多行: 第一行为出书最多的作者字母;
2024-03-22 11:07:48 474
原创 电子学会等级考试二级:有趣的跳跃
一个长度为n(n>0)的序列中存在“有趣的跳跃”当且仅当相邻元素的差的绝对值经过排序后正好是从1到(n-1)。例如,1 4 2 3存在“有趣的跳跃”,因为差的绝对值分别为3,2,1。当然,任何只包含单个元素的序列一定存在“有趣的跳跃”。你需要写一个程序判定给定序列是否存在“有趣的跳跃”。
2024-03-21 09:07:15 856
摄像头人脸表情识别分析应用
2023-11-24
UVCCamera+Opencv+RK3568+Android12+调试记录
2023-10-24
ChatGLM2-6B(windows本地微调实践)
2023-09-15
VS C++代码 EDID获取显示设备SN码
2023-08-11
大疆Tello无人机PC端控制
2023-08-02
Meta LlaMA 2 大语言模型免费开源!本地搭建类ChatGPT的智能AI聊天机器人
2023-07-28
lite.ai.toolkit+windows10工具包
2022-08-10
SlLidarTest.zip
2021-09-06
OpenCVwithUVC例程(修改安卓USB相机参数)
2021-05-26
HK_Camera_Qt6.0.2_MSVC2019.zip
2021-04-16
openpose1.7.0
2020-12-01
OpenCvContrib440.zip
2020-07-22
win10网络控制脚本.zip
2020-07-13
(myxml.zip)C++代码使用xml文件库函数
2020-05-16
win10+VS2017+win7SDK+DricetShow+AMCap调试方法.zip
2020-04-16
VS开发工具.zip(+番茄助手+OPENCV库)
2020-04-15
profibus多种主从站模拟器+profibus协议中文版+win7超级终端.rar
2018-04-10
freemodbus开源代码及modbus协议资料
2018-04-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人