程序设计能力实训
文章平均质量分 54
程序设计能力实训
hairful
这个作者很懒,什么都没留下…
展开
-
「EOJ」2958 求上升子序列和的最大值
题目由非负整数 $b_i(0⩽i<m−1) $满足 (i<j,bi<bj)(i<j,b_i<b_j)(i<j,bi<bj)时被称为长度为 $m $ 的上升序列。一个长度为 nnn 的序列 a0,a1,…,an−1a_0,a_1,…,a_{n−1}a0,a1,…,an−1,存在多种上升子序列:ai0,ai1,…,aik(0⩽i0<i1<…<ik<n)a_{i_0},a{i_1},…,a{i_k}(0⩽i_0<i_1<原创 2022-05-16 20:07:02 · 126 阅读 · 0 评论 -
「EOJ」2857 编辑距离
题目有两个字符串(仅有英文小写字母组成) A,B。我们可以通过一些操作将 A 修改成 B。操作有三种:1 修改一个字母,2 删除一个字母,3 插入一个字母。现在定义编辑距离为将 A 通过上述操作修改成 B 的最少次数。输入格式第一行有一个正整数 N,表示有多少组测试数据接下来有 2*N 行,每两行代表一组数据。每组数据的第一行是一个起始字符串 A,第二行是目的字符串 B。输出格式对于每组数据,输出一个值,表示将 A 修改成 B 的编辑距离、每组数据占一行,不要有多余空格。N<=100 ,原创 2022-05-16 19:56:39 · 228 阅读 · 0 评论 -
「EOJ」3531 定西
题目一个人走走了很多年,发现自己走到了一个很长的,年久失修的楼梯面前。年久失修的意思就是,有 k 个台阶坏了,没法走。楼梯一共有 n 层,你一次能上一阶、两阶或三阶台阶,请问,你从楼梯底部 (0 开始) 走到楼梯顶部,共有多少种走法。输入格式输入数据共两行,第一行包含两个自然数 n (1≤n≤100) 和 k (0≤k<n),第二行包含 k 个自然数 Xi (1≤Xi≤n),数字之间用一个空格隔开,表示损坏的台阶的序号(从楼梯底部到楼梯顶部,台阶序号依次为 1 到 n)。输出格式输出数据仅原创 2022-05-16 18:32:44 · 169 阅读 · 0 评论 -
「EOJ」2895 循环小数
题目给定一个分数,判断其是否是一个无限循环小数,并输出它的第一个循环节。例如:分数 13 是一个无限循环小数,第一个循环节为 3;而 12 不是一个无限循环小数。输入格式不多于 100 行,每行一个 m/n 形式的分数()(0<m<n<100000)输出格式对于每一个分数,当其是一个无限循环小数时,输出它的第一个循环节;否则输出 0。每行的最后有一个换行符。样例input1/32/516/304/71/99output30357142801提示原创 2022-04-16 15:36:12 · 270 阅读 · 0 评论 -
「EOJ」2888 买房子
题目Google 公司在 2010 年的某次校园招聘面试题中有这样一个选择题:现在北京有一套房子价格 200 万,假设房价每年上涨 10%,一个软件工程师每年固定能赚 40 万。如果他想买这套房子,不贷款,不涨工资,没有其他收入,每年不吃不喝不消费,也不用上税,那么他需要几年才能攒够钱买这套房子?A.5 年 B.7 年 C.8 年 D.9 年 E. 永远买不起据说能正确回答的应聘者并不多。现在,我们准对上海 2011 年的情况做一些改变,你通过写程序回答类似的问题。某程序员 2011 年 1 月原创 2022-04-16 15:35:23 · 566 阅读 · 0 评论 -
「EOJ」3001. 计算a的n次方的大整数
题目给定两个整数 a 和 n,输出 an。输入格式第 1 行:一个整数 T (1≤T≤10) 为问题数。接下来共 T 行。每行是由一个空格分隔的两个整数,表示 a 和(0<a<10)和n(0≤n<100)。输出格式对于每个问题,输出一行问题的编号(0 开始编号,格式:case #0: 等)。然后对应每个问题在一行中输出 an样例input32 09 993 10outputcase #0:1case #1:29512665430652752148753原创 2022-04-11 20:34:16 · 236 阅读 · 0 评论 -
「EOJ」3005. 小型组合数
题目我们经常需要计算组合数 它表示从 m 个元素中任取 n 个的话,有多少种取法。例如:从 100 个元素中取 2 个,第一个有 100 种取法,第二个有 99 种取法,再除以两个元素的排列数,共 4950种取法。编程计算 m 不大时的组合数值。输入格式第 1 行:整数 T (1≤T≤10) 为问题数对于每组测试数据:每行两个整数,,,m,n,1≤m≤40,0≤n≤m。输出格式对于每个问题,输出一行问题的编号(格式:case #0: 等)。然后在一行中输出组合数 样例input3原创 2022-04-11 20:22:07 · 251 阅读 · 0 评论 -
「EOJ」3022. 计算n阶乘右端0的个数(II)
题目给定一个整数 N (1≤N≤1000),输出 N 阶乘右端 0 的个数。输入格式第 1 行:一个整数 T (1≤T≤10) 为问题数。接下来共 T 行,每行一个整数,表示 N (1≤N≤1000)。输出格式对于每个问题,输出一行问题的编号(0 开始编号,格式:case #0: 等)。然后对应每个问题在一行中输出 N 阶乘右端 0 的个数。样例input31201000outputcase #0:0case #1:4case #2:249解题思路本题需要计算原创 2022-04-11 20:11:19 · 299 阅读 · 0 评论 -
「EOJ」3245 找数
题目“非下降数”表示一个整数的高位数码不会大于低位数码。如11123345,111是“非下降数”,121,11123343不是“非下降数”。现在给定一个整数 n (1≤n≤1018),找出不大于 n 的最大“非下降数”。输入格式第 1 行:整数T(1≤T≤100)为问题数。第2行:第一个问题的数据n。第3∽T+1行:后面问题的数据,格式与第一个问题相同。输出格式对于每个问题,输出一行问题的编号(0 开始编号,格式:case #0: 等),然后在每一行中输出找到的那个数。样例input原创 2022-03-24 14:30:45 · 198 阅读 · 0 评论 -
「EOJ」3187 凹数
题目一个十进制数 a1a2a3…an−1an,(1≤a1≤9,0≤aj≤9,j=2,3,4,…,n,n>2)。如果存在 a1>a2>…>ai−1>ai 且 ai<ai+1<ai+2<…<an−1<an例如:43212 是凹数,而 4352 不是凹数。请计算在 [a,b] (100≤a≤b≤1,000,000) 之间有多少个凹数。输入格式第 1 行:整数 T (1≤T≤10) 为测试数据组数。第 2 ~ T+1 行:每个问题一行,每行两原创 2022-03-24 14:22:23 · 261 阅读 · 0 评论 -
「EOJ」3185 双阶乘的质因数个数
题目双阶乘是一个数学概念,用 N!! 表示。当 N 是自然数时,N 的双阶乘表示不超过这个正整数 N 且与 N 有相同奇偶性的所有正整数乘积。如,3!!=1×3=3,5!!=1×3×5=15,6!!=2×4×6=48,8!!=2×4×6×8=384。请计算给定两个自然数 N 和 M,M 为 N!! 的分解质因数后的一个因子,求 N!! 分解质因数后因子 M 的个数。当输入 N 为 6,M 为 2 时,6!!=2×4×6=24×3,输出因子 2 的个数为 4。输入格式第 1 行:一个整数 T(1≤原创 2022-03-24 14:09:44 · 380 阅读 · 0 评论 -
「EOJ」3025 连续正整数之和
题目有些正整数可以表示为 n(n>1) 个连续正整数的和,如:15=1+2+3+4+515=4+5+615=7+8给定一个正整数 N,判断其是否可以表示为一组连续正整数的和,输出符合条件的解的组数。输入格式第 1 行:一个整数 T (1≤T≤10) 为问题数。第 2 T+1 行,对应每个问题有一行,每行一个正整数 N(3≤N≤1000000)。输出格式对每个测试数据,首先输出一行问题的编号(0 开始编号,格式:case #0: 等)。在接下来一行中输出符合条件的解的组数。样例i原创 2022-03-19 14:48:24 · 202 阅读 · 0 评论 -
「EOJ」2985 正方形和圆
题目小王首先在平面上画一个边长为 N 的正方形 S1,然后又画一个 S1 的内切圆 C1,这算做一次操作。然后接着画 C1的一个内切正方形 S2,和 S2 的一个内切圆 C2,这算第二次操作。他一直进行了 K 次操作。这样平面上就有 K个正方形,K 个圆。例如当 K=1 时,图形为:当 K=3 时,图形为:编一个程序计算那些属于正方形但是不属于圆的面积(在上图中就是指红颜色的区域)。输入格式第 1 行:整数 T (1≤T≤10) 为问题数第 2 ~ T+1 行:每行包括两个整数 N 和 K原创 2022-03-19 14:36:52 · 169 阅读 · 0 评论 -
「EOJ」2850 小强的生日
题目小强出生于 2008 年 2 月 29 日。与别的小朋友不一样,小强要隔四年才能过一次生日 L。小强很想知道自己什么时侯才能过生日,因此想请你编写一个程序显示 2 月份的日历给他看,以方便他确定自己的生日。2008 年 2 月的日历如下:SU MO TU WE TH FR SA 1 23 4 5 6 7 8 910 11 12 13 14 15 1617 18 19 20 21 22 2324 25 26 27 28 29请按照此格式输出指定原创 2022-03-19 14:19:01 · 253 阅读 · 0 评论 -
「EOJ」3061 摩尔斯电码
题目摩尔斯电码(Morse code)是美国人艾尔菲德 . 维尔于 1837 年发明的一种时通时断的信号代码。摩尔斯电码由两种基本信号和不同的间隔时间组成。两种基本信号为:短促的点信号.,读滴(Di);保持一定时间的长信号-,读嗒(Da),这两种基本信号通过不同的排列顺序表示不同的英文字母、数字和标点符号。例如:国际通用求救信号SOS,它的莫尔斯电码为...---...(三点,三长,三点,即:滴滴滴,嗒嗒嗒,滴滴滴)。下面两张表为英文字母和数字的标准莫尔斯电码对照表。在摩尔斯电码中,字母 M; 表原创 2022-03-09 22:25:22 · 798 阅读 · 0 评论 -
「EOJ」3026 排版
题目给定一行由英文单词、标点符号、数字和空格组成的字符串,对其进行排版输出,要求:1、原文中由空格分开的连续非空字符串视为一个单词。单词不能分割或跨行输出,同一行的相邻单词由一个或多个空格分开,每行行首和行尾不能为空格,排版后行数尽可能少;2、除最后一行外,每行长度为 M,长度不足 M 的由空格补足,空格在所有单词之间尽可能均匀分布,在满足上述条件下,空格尽可能置于靠右的位置;3、最后一行长度不能超过 M,每两个单词之间由一个空格分开,根据实际长度输出,长度不足 M 的不用补足。输入格式第 1原创 2022-03-09 22:20:49 · 306 阅读 · 0 评论 -
「EOJ」2878 字串排序
题目在 2010 年百度公司的一次校园招聘笔试中,要求应聘者设计一个 strnumcmp 函数。对比普通的 strcmp 函数,差别在于,当字符串中包含数字时,比较数字大小。数字大小相同或不含数字时,仍然沿用原来的 strcmp 方式。所有不含数字的字符串均小于含数字的字符串。每个字符串的长度范围为 1 ~ 30,而其中包含的数字个数范围为 0 ~ 8,且数字在一个字符串中是连续的。例如:strnumcmp 的判定结果:"abc"<"abc#"<"abcd"<"abc1"<"a原创 2022-03-09 22:00:30 · 230 阅读 · 0 评论 -
「EOJ」3059 极坐标排序
题目在平面上,确定一个点的位置通常有下面两种表示方法:当极坐标系中的极点 O 与直角坐标系中的原点 O 重合,极轴 OX 与直角坐标系中的 X 轴的正半轴重合,并且两种坐标系的单位长度相同,那么平面内任意一点 P 的直角坐标与极坐标可以互相转换。例如:点 p 直角坐标为:,(1,1),则对应的极坐标为:(1.4142,π4)。点 p 直角坐标为:,(−1,1),则对应的极坐标为:(1.4142,3π4)。点 p 直角坐标为:,(−1,−1),则对应的极坐标为:(1.4142,5π4)。点原创 2022-03-03 21:01:14 · 335 阅读 · 0 评论 -
「EOJ」2896 随机排序
题目给定一组以一个空格分隔的只含大小写字母的字符串。与普通字典序不同,按照给定的字母顺序对这组字符串排序。设两个字符串的字母不会完全相同。如:Hat、hat、HAt 等不会同时出现。例如:字母顺序为 QWERTYUIOPASDFGHJKLZXCVBNM 时:一组字符串 hat cat bat book bookworm Dallas Austin Houston fire firefox fumble排序结果为:Austin Dallas fumble fire firefox Houston原创 2022-03-03 21:00:24 · 181 阅读 · 0 评论 -
「EOJ」3053. 神秘信息
EOJ 神秘信息原创 2022-03-03 20:58:59 · 264 阅读 · 0 评论 -
「EOJ」2893. 数据密度
EOJ 位 二进制练习例题原创 2022-03-03 20:57:02 · 897 阅读 · 0 评论