
信息学奥赛c++
信息学奥赛c++学习分享
敲代码的八戒
2018级小学六年级,计算机语言初学者,主攻汇编,c,c++,欢迎交流学习.
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
信息学奥赛c++语言:整数去重
输入包含两行:第一行包含一个正整数n(1 ≤ n ≤ 20000),表示第二行序列中数字的个数;第二行包含n个整数,整数之间以一个空格分开。每个整数大于等于0、小于等于5000。给定含有n个整数的序列,要求对这个序列进行去重操作。所谓去重,是指对这个序列中每个重复出现的数,只保留该数第一次出现的位置,删除其余位置。输出只有一行,按照输入的顺序输出其中不重复的数字,整数之间用一个空格分开。原创 2025-03-12 22:17:54 · 362 阅读 · 0 评论 -
信息学奥赛c++语言:最长平台
已知一个已经从小到大排序的数组,这个数组的一个平台(Plateau)就是连续的一串值相同的元素,并且这一串元素不能再延伸。例如,在 1,2,2,3,3,3,4,5,5,6中1,2-2,3-3-3,4,5-5,6都是平台。试编写一个程序,接收一个数组,把这个数组最长的平台找出 来。在上面的例子中3-3-3就是最长的平台。第一行有一个整数n(n≤10000),为数组元素的个数。第二行有n个整数,整数之间以一个空格分开。输出最长平台的长度。原创 2025-03-12 21:49:15 · 477 阅读 · 0 评论 -
信息学奥赛c++语言:直方图
现在请你编写程序,根据提供的n个样本值,计算出该病例的平均白细胞数量和对应的误差。给定一个非负整数数组,统计里面每一个数的出现次数。我们只统计到数组里最大的数。以下共有n行,每行为一个整数,为对应的白细胞数量,其单位为10^9/L。假设 Fmax(Fmax<10000)是数组里最大的数,那么我们只统计{0,1,2.....Fmax}里每个数出现的次数。对于例子中的数组,最大的数是3,因此我们只统计{0,1,2,3}的出现频数。按顺序输出每个数的出现次数,一行一个数。紧接着一行是数组的n个元素。原创 2025-03-12 21:28:29 · 161 阅读 · 0 评论 -
信息学奥赛c++语言:白细胞计数
医院采样了某临床病例治疗期间的白细胞数量样本n份,用于分析某种新抗生素对该病例的治疗效果。为了降低分析误差,要先从这n份样本中去除一个数值最大的样本和一个数值最小的样本,然后将剩余n-2个有效样本的平均值作为分析指标。同时,为了观察该抗生素的疗效是否稳定,还要给出该平均值的误差,即所有有效样本(即不包括已扣除的两个样本)与该平均值之差的绝对值的最大值。以下共有n行,每行为一个浮点数,为对应的白细胞数量,其单位为10^9/L。现在请你编写程序,根据提供的n个样本值,计算出该病例的平均白细胞数量和对应的误差。原创 2025-03-11 22:57:06 · 328 阅读 · 0 评论 -
信息学奥赛c++语言:不与最大数相同的数字之和
输入分为两行:第一行为N(N为接下来数的个数,N ≤ 100);第二行N个整数,数与数之间以一个空格分开,每个整数的范围是-1000,000到1000,000。输出一个整数数列中不与最大数相同的数字之和。输出为N个数中除去最大数其余数字之和。原创 2025-03-03 22:54:41 · 317 阅读 · 0 评论 -
信息学奥赛c++语言:查找特定的值
第一行包含一个正整数n,表示序列中元素个数。第二行包含n个整数,依次给出序列的每个元素,相邻两个整数之间用单个空格隔开。元素的绝对值不超过10000。第三行包含一个整数x,为需要查找的特定值。x的绝对值不超过10000。在一个序列(下标从0开始)中查找一个给定的值,输出第一次出现的位置。若序列中存在x,输出x第一次出现的下标;原创 2025-03-02 22:31:55 · 345 阅读 · 0 评论 -
信息学奥赛c++语言:开关灯
假设有 N 盏灯(N 为不大于 5000 的正整数),从 1 到 N 按顺序依次编号,初始时全部处于开启状态;第一个人(1 号)将灯全部关闭,第二个人(2 号)将编号为 2 的倍数的灯打开,第三个人(3 号)将编号为 3 的倍数的灯做相反处理(即,将打开的灯关闭,将关闭的灯打开)。依照编号递增顺序,以后的人都和 3 号一样,将凡是自己编号倍数的灯做相反处理。问当第 N 个人操作完之后,有哪些灯是关闭着的?输出为一行,按顺序输出关着的灯的编号。输入为一行,一个整数 N,为灯的数量。原创 2025-03-02 22:08:54 · 321 阅读 · 0 评论 -
信息学奥赛c++语言:向量点积计算
在线性代数、计算几何中,向量点积是一种十分重要的运算。给定两个n维向量a=(a1,a2,...,an)和b=(b1,b2,...,bn),求点积a⋅b=a1b1+a2b2+...+anbn。第一行是一个整数n(1≤n≤1000)。第二行包含n个整数a1,a2,...,an。第三行包含n个整数b1,b2,...,bn。相邻整数之间用单个空格隔开。每个整数的绝对值都不超过1000。一个整数,即两个向量的点积结果。原创 2025-03-02 21:44:33 · 331 阅读 · 0 评论 -
信息学奥赛c++语言:年龄与疾病
某医院想统计一下某项疾病的获得与否与年龄是否有关,需要对以前的诊断记录进行整理,按照0-18、19-35、36-60、61以上(含61)四个年龄段统计的患病人数占总患病人数的比例。按照0-18、19-35、36-60、61以上(含61)四个年龄段输出该段患病人数占总患病人数的比例,以百分比的形式输出,精确到小数点后两位。每个年龄段占一行,共四行。共 2 行,第一行为过往病人的数目 n(0<n≤100),第二行为每个病人患病时的年龄,年龄为不超过 100的非负整数。原创 2025-03-02 21:31:59 · 410 阅读 · 0 评论 -
信息学奥赛c++语言:数组逆序重存放
输入为两行:第一行数组中元素的个数n(1<n<100),第二行是n个整数,每两个整数之间用空格分隔。将一个数组中的值按逆序重新存放。例如,原来的顺序为8,6,5,4,1。要求改为1,4,5,6,8。输出为一行:输出逆序后数组的整数,每两个整数之间用空格分隔。原创 2025-02-19 22:54:02 · 398 阅读 · 0 评论 -
信息学奥赛c++语言: 计算书费
输入一行,包含10个整数(大于等于0,小于等于100),分别表示购买的《计算概论》、《数据结构与算法》、《数字逻辑》、《C++程序设计教程》、《人工智能》、《计算机体系结构》、《编译原理》、《操作系统》、《计算机网络》、《JAVA程序设计》的数量(以本为单位)。数据结构与算法 32.7元/本。C++程序设计教程 78元/本。计算机体系结构 86.2元/本。JAVA程序设计 65元/本。计算概论 28.9元/本。编译原理 27.8元/本。人工智能 35 元/本。计算机网络 56元/本。操作系统 43元/本。原创 2025-02-17 23:05:54 · 312 阅读 · 0 评论 -
信息学奥赛c++语言:与指定数字相同的数的个数
输入包含三行:第一行为N,表示整数序列的长度(N ≤ 100);第二行为N个整数,整数之间以一个空格分开;第三行包含一个整数,为指定的数字m。输出一个整数序列中与指定数字相同的数的个数。输出为N个数中与m相同的数的个数。原创 2025-02-16 23:00:43 · 462 阅读 · 0 评论 -
信息学奥赛c++语言:不定方程求解
给定正整数a,b,c。求不定方程 ax+by=c 关于未知数x和y的所有非负整数解组数。一行,包含三个正整数a,b,c,两个整数之间用单个空格隔开。每个数均不大于1000。一个整数,即不定方程的非负整数解组数。原创 2025-02-12 23:38:01 · 253 阅读 · 0 评论 -
信息学奥赛c++语言:第n小的质数
输入一个正整数n,求第n小的质数。一个不超过10000的正整数n。原创 2025-02-12 23:19:38 · 667 阅读 · 0 评论 -
信息学奥赛c++语言:画矩形
根据参数,画出矩形。输入四个参数:前两个参数为整数,依次代表矩形的高和宽(高不少于3行不多于10行,宽不少于5列不多于10列);第三个参数是一个字符,表示用来画图的矩形符号;第四个参数为1或0,0代表空心,1代表实心。输入一行,包括四个参数:前两个参数为整数,依次代表矩形的高和宽(高不少于3行不多于10行,宽不少于5列不多于10列);第三个参数是一个字符,表示用来画图的矩形符号;第四个参数为1或0,0代表空心,1代表实心。原创 2025-02-12 23:08:03 · 344 阅读 · 0 评论 -
信息学奥赛c++语言:数字统计
比如给定范围 [2,22],数字 2 在数 2 中出现了 1 次,在数 12 中出现 1 次,在数 20 中出现 1 次,在数 21 中出现 1 次,在数 22 中出现 2 次,所以数字 2 在该范围内一共出现了 6 次。请统计某个给定范围 [L,R] 的所有整数中,数字 22出现的次数。输入共 1 行,为两个正整数 L 和 R,之间用一个空格隔开。输出共 1 行,表示数字 2 出现的次数。原创 2025-02-12 22:52:24 · 296 阅读 · 0 评论 -
信息学奥赛c++语言:与 7 无关的数
一个正整数,如果它能被 7 整除,或者它的十进制表示法中某一位上的数字为 7,则称其为与 7 相关的数。现求所有小于等于 n(n<100) 与 7无关的正整数的平方和。输出一行,包含一个整数,即小于等于 n的所有与 7 无关的正整数的平方和。输入为一行,正整数 n(n<100)。原创 2025-02-04 23:12:16 · 231 阅读 · 0 评论 -
信息学奥赛c++语言:计算多项式的值
假定多项式的形式为 xn+x(n−1)+xn+x(n−1)+ …+x2+x+1+x2+x+1,请计算给定单精度浮点数 x和正整数 n 值的情况下这个多项式的值。多项式的值精确到小数点后两位,保证最终结果在 double 范围内。输出一个实数,即多项式的值,精确到小数点后两位。保证最终结果在 double 范围内。x 在 double 范围内,n≤1000000。输入仅一行,包括 x 和 n,用单个空格隔开。原创 2025-02-01 23:56:14 · 202 阅读 · 0 评论 -
信息学奥赛c++语言:求出 e 的值
利用公式 e=1+1/1!,求 e 的值,要求保留小数点后 10 位。输入只有一行,该行包含一个整数 n,表示计算 ee 时累加到 1/n!输出只有一行,该行包含计算出来的 e的值,要求打印小数点后 10 位。原创 2025-02-01 22:43:07 · 336 阅读 · 0 评论 -
信息学奥赛c++语言:含 k 个 3 的数
输入两个正整数 m 和 k,其中 1<m≤1015,1<k≤15,判断 m 是否恰好含有 k 个 3,如果满足条件,则输出。输入一行,为两个整数 m,km,k,中间用单个空格间隔。原创 2025-01-31 23:31:56 · 546 阅读 · 0 评论 -
信息学奥赛c++语言:角谷猜想
谓角谷猜想,是指对于任意一个正整数,如果是奇数,则乘3加1,如果是偶数,则除以2,得到的结果再按照上述规则重复处理,最终总能够得到1。如,假定初始整数为5,计算过程分别为16、8、4、2、1。程序要求输入一个整数,将经过处理得到1的过程输出来。从输入整数到1的步骤,每一步为一行,每一部中描述计算过程。最后一行输出"End"。如果输入为1,直接输出"End"。一个正整数N(N ≤ 2,000,000)。原创 2025-01-31 22:07:35 · 659 阅读 · 0 评论 -
信息学奥赛c++语言:球弹跳高度的计算
一球从某一高度h落下(单位米),每次落地后反跳回原来高度的一半,再落下。编程计算气球在第10次落地时,共经过多少米?第1行:到球第10次落地时,一共经过的米数。第2行:第10次弹跳的高度。注意:结果可能是实数,结果用double类型保存。输出包含两行,第1行:到球第10次落地时,一共经过的米数。第2行:第10次弹跳的高度。输入一个整数h,表示球的初始高度。原创 2025-01-31 21:50:45 · 348 阅读 · 0 评论 -
信息学奥赛c++语言:幂的末尾
从高位到低位输出幂的末三位数字,中间无分隔符。若幂本身不足三位,在前面补零。a^b的末3位数是多少?原创 2025-01-27 00:30:49 · 487 阅读 · 0 评论 -
信息学奥赛c++语言:计算星期几
一个字符串,代表过a^b天之后是星期几。其中,Monday是星期一,Tuesday是星期二,Wednesday是星期三,Thursday是星期四,Friday是星期五,Saturday是星期六,Sunday是星期日。两个正整数a,b,中间用单个空格隔开。假设今天是星期日,那么a^b天之后是星期几?原创 2025-01-27 00:21:19 · 536 阅读 · 0 评论 -
信息学奥赛c++语言:求小数的某一位
三个正整数a,b,n,相邻两个数之间用单个空格隔开。分数a/b化为小数后,小数点后第n位的数字是多少?原创 2025-01-26 23:49:01 · 329 阅读 · 0 评论 -
信息学奥赛c++语言:分苹果
把一堆苹果分给n个小朋友,要使每个人都能拿到苹果,而且每个人拿到的苹果数都不同的话,这堆苹果至少应该有多少个?一个不大于1000的正整数n,代表小朋友人数。一个整数,表示满足条件的最少苹果个数。原创 2025-01-26 23:13:27 · 396 阅读 · 0 评论 -
信息学奥赛c++语言:余数相同问题
已知三个正整数a,b,c。现有一个大于1的整数x,将其作为除数分别除a,b,c,得到的余数相同。请问满足上述条件的x的最小值是多少?一行,三个不大于1000000的正整数a,b,c,两个整数之间用一个空格隔开。一个整数,即满足条件的x的最小值。原创 2025-01-26 22:43:15 · 304 阅读 · 0 评论 -
信息学奥赛c++语言:计算分数加减表达式的值
编写程序,输入n的值,求1/1−1/2+1/3−1/4+1/5−1/6+1/7−1/8+...+(−1)^(n−1)⋅1/n的值。输出一个实数,为表达式的值,保留到小数点后四位。原创 2025-01-25 22:03:17 · 341 阅读 · 0 评论 -
信息学奥赛c++语言:求分数序列和
有一个分数序列q1/p1,q2/p2,q3/p3,q4/p4,q5/p5,.... ,其中q(i+1)=qi+pi,p(i+1)=qi,p1=1,q1=2。比如这个序列前6项分别是2/1,3/2,5/3,8/5,13/8,21/13,求这个分数序列的前n项之和。输出有一行,包含一个浮点数,表示分数序列前n项的和,精确到小数点后4位。输入有一行,包含一个正整数n(n ≤ 30)。原创 2025-01-25 21:04:21 · 532 阅读 · 0 评论 -
信息学奥赛c++语言:统计满足条件的4位数
给定若干个四位数,求出其中满足以下条件的数的个数:个位数上的数字减去千位数上的数字,再减去百位数上的数字,再减去十位数上的数字的结果大于零。输入为两行,第一行为四位数的个数n,第二行为n个的四位数。输出为一行,包含一个整数,表示满足条件的四位数的个数。原创 2025-01-25 20:34:03 · 293 阅读 · 0 评论 -
信息学奥赛c++语言:药房管理
随着信息技术的蓬勃发展,医疗信息化已经成为医院建设中必不可少的一部分。计算机可以很好地辅助医院管理医生信息、病人信息、药品信息等海量数据,使工作人员能够从这些机械的工作中解放出来,将更多精力投入真正的医疗过程中,从而极大地提高了医院整体的工作效率。对药品的管理是其中的一项重要内容。假设对于任意一种药品,每天开始工作时的库存总量已知,并且一天之内不会通过进货的方式增加。每天会有很多病人前来取药,每个病人希望取走不同数量的药品。如果病人需要的数量超过了当时的库存量,药房会拒绝该病人的请求。原创 2025-01-25 20:11:47 · 231 阅读 · 0 评论 -
信息学奥赛c++语言:救援
救生船从大本营出发,营救若干屋顶上的人回到大本营,屋顶数目以及每个屋顶的坐标和人数都将由输入决定,求出所有人都到达大本营并登陆所用的时间。在直角坐标系的原点是大本营,救生船每次从大本营出发,救了人之后将人送回大本营。救生船每次从大本营出发,以速度50 米/分钟驶向下一个屋顶,达到一个屋顶后,救下其上的所有人,每人上船1分钟,船原路返回,达到大本营,每人下船0.5分钟。接下来依次有n 行输入,每一行上包含两个表示屋顶相对于大本营的平面坐标位置的实数(单位是米)、一个表示人数的整数。原创 2025-01-24 23:12:35 · 580 阅读 · 0 评论 -
信息学奥赛c++语言: 鸡尾酒疗法
假设鸡尾酒疗法的有效率为x,新疗法的有效率为y,如果y-x大于5%,则效果更好,如果x-y大于5%,则效果更差,否则称为效果差不多。下面给出n组临床对照实验,其中第一组采用鸡尾酒疗法,其他n-1组为各种不同的改进疗法。其余n行每行两个整数,第一个整数是临床实验的总病例数(小于等于10000),第二个疗效有效的病例数。这n行数据中,第一行为鸡尾酒疗法的数据,其余各行为各种改进疗法的数据。有n-1行输出,分别表示对应改进疗法的效果:如果效果更好,输出better;如果效果更差,输出worse;原创 2025-01-24 22:06:25 · 301 阅读 · 0 评论 -
信息学奥赛c++语言:斐波那契数列
第 11 行是测试数据的组数 n,后面跟着 n 行输入。每组测试数据占 1 行,包括一个正整数 a(1≤a≤30)。斐波那契数列是指这样的数列:数列的第一个和第二个数都为 1,接下来每个数都等于前面 2 个数之和。输出有 n 行,每行输出对应一个输入。输出应是一个正整数,为斐波那契数列中第 aa 个数的大小。给出一个正整数 a,要求斐波那契数列中第 a 个数是多少。原创 2025-01-24 21:29:38 · 651 阅读 · 0 评论 -
信息学奥赛c++语言:人口增长
我国现有x亿人口,按照每年0.1%的增长速度,n年后将有多少人?输出最后的人口数,以亿为单位,保留到小数点后四位。一行,包含两个整数x和n,分别是人口基数和年数,以单个空格分隔。原创 2025-01-23 00:01:02 · 362 阅读 · 0 评论 -
信息学奥赛c++语言:乘方计算
给出一个整数a和一个正整数n(-1000000≤a≤1000000,0≤n≤10000),求乘方,即乘方结果。最终结果的绝对值不超过1000000。一行,包含两个整数a和n。一个整数,即乘方结果。题目保证最终结果的绝对值不超过1000000。原创 2025-01-22 23:45:47 · 607 阅读 · 0 评论 -
信息学奥赛c++语言:整数的个数
给定k(1<k<100)个正整数,其中每个数都是大于等于1,小于等于10的数。写程序计算给定的k个正整数中,1,5和10出现的次数。输入有两行:第一行包含一个正整数k,第二行包含k个正整数,每两个正整数用一个空格分开。输出有三行,第一行为1出现的次数,,第二行为5出现的次数,第三行为10出现的次数。原创 2025-01-22 23:35:46 · 117 阅读 · 0 评论 -
信息学奥赛c++语言:满足条件的数累加
将正整数m和n之间(包括m和n)能被17整除的数累加,其中0<m<n<1000。一行,包含两个整数m和n,其间,以一个空格间隔。输出一行,包行一个整数,表示累加的结果。原创 2025-01-10 22:56:46 · 379 阅读 · 0 评论 -
信息学奥赛c++语言:奇数求和
计算非负整数m到n(包括m和n)之间的所有奇数的和,其中,m 不大于 n,且n 不大于300。例如 m=3, n=12, 其和则为:3+5+7+9+11=35。两个数 m 和 n,两个数以一个空格分开,其中 0 ≤ m ≤ n ≤ 300。输出一行,包含一个整数,表示m 到 n(包括m 和 n )之间的所有奇数的和。原创 2025-01-10 22:38:34 · 452 阅读 · 0 评论 -
信息学奥赛c++语言: 奥运奖牌计数
2008年北京奥运会,A国的运动员参与了n天的决赛项目(1≤n≤17)。现在要统计一下A国所获得的金、银、铜牌数目及总奖牌数。输入第1行是A国参与决赛项目的天数n,其后n行,每一行是该国某一天获得的金、银、铜牌数目。输出4个整数,为A国所获得的金、银、铜牌总数及总奖牌数。输入n+1行,第1行是A国参与决赛项目的天数n,其后n行,每一行是该国某一天获得的金、银、铜牌数目,以一个空格分开。输出1行,包括4个整数,为A国所获得的金、银、铜牌总数及总奖牌数,以一个空格分开。原创 2025-01-02 23:35:08 · 432 阅读 · 0 评论