每日两题
目前涉及PTA乙级
想了半天也不知道取什么名字
萌新上道
展开
-
L1-027 出租分数 20
下面是新浪微博上曾经很火的一张图:一时间网上一片求救声,急问这个怎么破。其实这段代码很简单,index数组就是arr数组的下标,index[0]=2对应arr[2]=1index[1]=0对应arr[0]=8index[2]=3对应arr[3]=0,以此类推…… 很容易得到电话号码是。本题要求你编写一个程序,为任何一个电话号码生成这段代码 —— 事实上,只要生成最前面两行就可以了,后面内容是不变的。原创 2024-02-08 14:54:36 · 407 阅读 · 0 评论 -
L1-025 正整数A+B分数 15
题的目标很简单,就是求两个正整数A和B的和,其中A和B都在区间[1,1000]。稍微有点麻烦的是,输入并不保证是两个正整数。原创 2024-02-06 16:05:33 · 391 阅读 · 0 评论 -
L1-023 输出GPLT分数 20
给定一个长度不超过10000的、仅由英文字母构成的字符串。请将字符重新调整顺序,按这样的顺序输出,并忽略其它字符。当然,四种字符(不区分大小写)的个数不一定是一样多的,若某种字符已经输出完,则余下的字符仍按GPLT的顺序打印,直到所有字符都被输出。原创 2024-02-05 15:28:09 · 367 阅读 · 0 评论 -
L1-022 奇偶分家分数 10
给定N个正整数,请统计奇数和偶数各有多少个?原创 2024-02-03 16:02:34 · 406 阅读 · 0 评论 -
L1-020 帅到没朋友分数 20
当芸芸众生忙着在朋友圈中发照片的时候,总有一些人因为太帅而没有朋友。本题就要求你找出那些帅到没有朋友的人。原创 2024-02-03 15:58:29 · 344 阅读 · 0 评论 -
L1-019 谁先倒分数 15
划拳是古老中国酒文化的一个有趣的组成部分。酒桌上两人划拳的方法为:每人口中喊出一个数字,同时用手比划出一个数字。如果谁比划出的数字正好等于两人喊出的数字之和,谁就输了,输家罚一杯酒。两人同赢或两人同输则继续下一轮,直到唯一的赢家出现。下面给出甲、乙两人的酒量(最多能喝多少杯不倒)和划拳记录,请你判断两个人谁先倒。原创 2024-02-02 15:04:24 · 368 阅读 · 0 评论 -
L1-018 大笨钟分数 10
微博上有个自称“大笨钟V”的家伙,每天敲钟催促码农们爱惜身体早点睡觉。不过由于笨钟自己作息也不是很规律,所以敲钟并不定时。一般敲钟的点数是根据敲钟时间而定的,如果正好在某个整点敲,那么“当”数就等于那个整点数;如果过了整点,就敲下一个整点数。另外,虽然一天有24小时,钟却是只在后半天敲1~12下。例如在23:00敲钟,就是“当当当当当当当当当当当”,而到了23:01就会是“当当当当当当当当当当当当”。在午夜00:00到中午12:00期间(端点时间包括在内),笨钟是不敲的。原创 2024-02-02 14:45:01 · 375 阅读 · 0 评论 -
L1-017 到底有多二分数 15
一个整数“”定义为该数字中包含2的个数与其位数的比值。如果这个数是负数,则程度增加0.5倍;如果还是个偶数,则再增加1倍。例如数字是个11位数,其中有3个2,并且是负数,也是偶数,则它的犯二程度计算为:3/11×1.5×2×100%,约为81.82%。本题就请你计算一个给定整数到底有多二。原创 2024-02-01 17:34:01 · 358 阅读 · 0 评论 -
L1-016 查验身份证分数 15
一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。校验码的计算规则如下:首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};然后将计算的和对11取模得到值Z;最后按照以下关系对应Z值与校验码M现在给定一些身份证号码,请你验证校验码的有效性,并输出有问题的号码。原创 2024-02-01 16:50:19 · 399 阅读 · 0 评论 -
L1-011 A-B分数 20
本题要求你计算A−B。不过麻烦的是,A和B都是字符串 —— 即从字符串A中把字符串B所包含的字符全删掉,剩下的字符组成的就是字符串A−B。原创 2023-09-25 16:26:29 · 133 阅读 · 0 评论 -
L1-009 N个数求和分数 20
本题的要求很简单,就是求N个数字的和。麻烦的是,这些数字是以有理数分子/分母的形式给出的,你输出的和也必须是有理数的形式。原创 2023-09-24 16:34:58 · 138 阅读 · 0 评论 -
L1-008 求整数段和分数 10
给定两个整数A和B,输出从A到B的所有整数以及这些数的和。原创 2023-09-19 18:36:19 · 113 阅读 · 0 评论 -
L1-007 念数字分数 10
输入一个整数,输出每个数字对应的拼音。当整数为负数时,先输出fu字。原创 2023-09-19 18:20:46 · 82 阅读 · 0 评论 -
L1-006 连续因子
一个正整数 N 的因子中可能存在若干连续的数字。例如 630 可以分解为 3×5×6×7,其中 5、6、7 就是 3 个连续的数字。给定任一正整数 N,要求编写程序求出最长连续因子的个数,并输出最小的连续因子序列。原创 2023-09-18 16:51:01 · 71 阅读 · 0 评论 -
L1-005 考试座位号分数 15
每个 PAT 考生在参加考试时都会被分配两个座位号,一个是试机座位,一个是考试座位。正常情况下,考生在入场时先得到试机座位号码,入座进入试机状态后,系统会显示该考生的考试座位号码,考试时考生需要换到考试座位就座。但有些考生迟到了,试机已经结束,他们只能拿着领到的试机座位号码求助于你,从后台查出他们的考试座位号码。原创 2023-09-18 15:37:08 · 72 阅读 · 0 评论 -
L1-003 个位数统计
给定一个 k 位整数 N=dk−110k−1+⋯+d1101+d0 (0≤di≤9, i=0,⋯,k−1, dk−1>0),请编写程序统计每种不同的个位数字出现的次数。例如:给定 N=100311,则有 2 个 0,3 个 1,和 1 个 3。原创 2023-09-13 14:49:26 · 79 阅读 · 0 评论 -
L1-002 打印沙漏分数 20
L1-002 打印沙漏分数 20全屏浏览题目切换布局作者 陈越单位 浙江大学本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;首尾符号数相等。给定任意N个符号,不一定能正好组成一个沙漏。要求打印出的沙漏能用掉尽可能多的符号。原创 2023-09-11 16:34:20 · 207 阅读 · 0 评论 -
试题 算法训练 逗志芃的暴走
因为逗志芃太逗了,所以这段时间妹子对逗志芃发动了技能无理取闹,妹子要去玩很多的景点。由于逗志芃之前抽机花费了太多的时间,不久以后又要微积分考试了,所以现在被妹子搞成暴走状态了。但是妹子永远是上帝,所以逗志芃只能带妹子出去玩,不过为了节约时间,他希望找到一条花费时间最少的一次性游览线路。接下来是一个数m,表示逗志芃妹子要去去的景点数目。接下来是m个数,就是妹子要去的景点编号。第一行1个数n,表示逗志芃所在的城市有多少个景点,接下来是一个n*n的矩阵。a(i,j)表示i号景点到j号景点的路上花费的时间是多少。原创 2023-03-19 22:38:20 · 326 阅读 · 0 评论 -
试题 算法训练 P0703
一个整数的反置数指的是把该整数的每一位数字的顺序颠倒过来所得到的另一个整数。如果一个整数的末尾是以0结尾,那么在它的反置数当中,这些0就被省略掉了。比如说,1245的反置数5421,而1200的反置数是21。请编写一个程序,输入两个整数,然后计算这两个整数的反置数之和sum,然后再把sum的反置数打印出来。例如,如果用户输入:435和754,则输出结果为199。要求:由于在本题中需要多次去计算一个整数的反置数,因此必须把这部分代码抽象为一个函数的形式。就是把两个反置数加起来,然后输出和的反置数。原创 2023-03-15 19:58:19 · 65 阅读 · 0 评论 -
试题 算法训练 P0701
(2) 如果单词末尾为y,且前一个字母为辅音(除a, e, i, o, u以外的其它情况),则把y改成ies。编写一个函数RegularPlural,其功能是实现一个英文单词的复数形式。编写测试程序,输入一个长度小于20的单词,输出该单词的复数形式。(1) 如果单词末尾为s,x,z,ch或sh,则在后面加es。(3) 如果是其它情形,一律在后面加s。考虑三种情况就可以了。原创 2023-03-16 18:15:34 · 148 阅读 · 0 评论 -
试题 算法训练 P0702
在C语言中,有一个strcmp函数,其功能是比较两个字符串s1和s2。请编写一个你自己的字符串比较函数my_strcmp,来实现strcmp函数的类似功能。如果s1=s2,则返回0;否则返回s1 与s2 第一个不同字符的差值(如果s1<s2,该差值是一个负数;如果s1>s2,该差值是一个正数)。编写测试程序,输入两个长度小于1000的字符串(可能包含有空格,且长度不一定相等),然后调用my_strcmp函数来进行比较,并输出返回结果。那么返回的时候,str2是返回的0-str2【len1】,所以是负值。原创 2023-03-16 16:16:44 · 129 阅读 · 0 评论 -
试题 算法训练 P0704
一个数如果从左往右读和从右往左读数字是完全相同的,则称这个数为回文数,比如898,1221,15651都是回文数。编写一个程序,输入两个整数min和max,然后对于min~max之间的每一个整数(包括min和max),如果它既是一个回文数又是一个质数,那么就把它打印出来。要求,回文数和质数的判断都必要要用函数的形式来实现。原创 2023-03-15 19:55:23 · 69 阅读 · 0 评论 -
试题 算法训练 P0705
输入两个整数集合A、B,求出他们的交集、并集以及B在A中的余集。第二行有n个按从小到大的顺序输入且互不相同的整数,表示集合A中的元素。第四行有m个按从小到大的顺序输入且互不相同的整数,表示集合B中的元素。集合中的所有元素均为int范围内的整数,n、m<=1000。输出第一行按从小到大的顺序输出A、B交集中的所有元素。第三行按从小到大的顺序输出B在A中的余集中的所有元素。第二行按从小到大的顺序输出A、B并集中的所有元素。输入第一行为一个整数n,表示集合A中的元素个数。B在A中的余集就是值为1(A)原创 2023-03-11 22:29:48 · 192 阅读 · 1 评论 -
试题 算法训练 ascii应用
输入ascii码n(65≤n≤90,97≤n≤122),输出对应的字母及其在字母表中的位置并判断大小写。输出一行,分别是ascii码n所对应的字符,并判断大小写,及其在字母表中的位置。输入的数据只有一行,其中包括一个数字n,表示一个ascii码。原创 2023-03-11 20:30:12 · 234 阅读 · 0 评论 -
试题 算法训练 积木大赛
接下来每次操作,小朋友们可以选择一段连续区间[L, R],然后将第L块到第R块之间(含第L块和第R块)所有积木的高度分别增加1。kAc是个聪明的小朋友,他很快想出了建造大厦的最佳策略,使得建造所需的操作次数最少。但他不是一个勤于动手的孩子,所以想请你帮忙实现这个策略,并求出最少的操作次数。今年比赛的内容是搭建一座宽度为n的大厦,大厦可以看成由n块宽度为1的积木组成,第i块积木的最终高度需要是hi。输入包含两行,第一行包含一个整数n,表示大厦的宽度。第二行包含n个整数,第i个整数为hi。原创 2023-03-09 20:19:28 · 201 阅读 · 0 评论 -
试题 算法训练 转圈游戏
游戏规则如下:每一轮第 0 号位置上的小伙伴顺时针走到第 m 号位置,第 1 号位置小伙伴走到第m+1号位置,……,依此类推,第n−m号位置上的小伙伴走到第0号位置,第n-m+1 号位置上的小伙伴走到第1号位置,……,第 n-1 号位置上的小伙伴顺时针走到第m-1号位置。最初,第0号小伙伴在第0号位置,第1号小伙伴在第 1 号位置,……输出共1行,包含 1个整数,表示10的k次方轮后x号小伙伴所在的位置编号。现在,一共进行了10的k次方轮,请问x号小伙伴最后走到了第几号位置。核心是化简10的k次。原创 2023-03-05 16:55:59 · 623 阅读 · 0 评论 -
试题 算法训练 筛法
2,primes表示质数,ans表示欧拉函数值,num是确认这个数是否质数,len表示primes长度。炫炫学了筛法之后,很想用筛法求欧拉函数。他决定求1到N的所有数的欧拉函数值。1,注意数组的大小范围,一开始直接开500000发现小了,又加了一个0。输出若干行,每行包含一个整数,第i行表示i的欧拉函数值。3,如果一个数A是质数,那么它的欧拉函数值就等于A-1。输入的第一行包含1个整数n,。原创 2023-03-05 15:53:11 · 211 阅读 · 0 评论 -
试题 算法训练 进击的青蛙
青蛙X正准备跳过一座桥,这座桥被划分为N段,记青蛙所在的起始点为0,桥的末端为N。桥上的一些点有一些石子,这些点是无法跳上去的。青蛙每次跳跃能向前跳跃+1,+2,+3段,现在请你算出跳到末端的总方法数。如果无法到达,请输出”No Way!接下来N行,表示从点1~N的道路情况,每行一个数字0或1,1表示有石子。由于数据过大,我们只需要求出 对 1000000007 的余数即可。输出一行,为一个整数,代表方法数,无法到达为“No Way!第一行一个数字N,代表桥的长度。只不过这里是三个三个的加。原创 2023-03-02 20:48:33 · 63 阅读 · 0 评论 -
试题 算法训练 自行车停放
有n辆自行车依次来到停车棚,除了第一辆自行车外,每辆自行车都会恰好停放在已经在停车棚里的某辆自行车的左边或右边。现在编号为2的第4辆自行车要停在5号自行车的左边,所以现在停车棚里的自行车编号是:3,2,5,1)。给定n辆自行车的停放情况,按顺序输出最后停车棚里的自行车编号。z=0时,表示编号为x的自行车恰停放在编号为y的自行车的左边。z=1时,表示编号为x的自行车恰停放在编号为y的自行车的右边。然后用vector来,直接找到要插入的点的位置,然后插入。最后输出的时候,一开始用的遍历器去输出,最后超时了。原创 2023-03-01 20:29:00 · 288 阅读 · 0 评论 -
试题 算法训练 共线
遍历每两个点,然后找这与两个点相同斜率的点,有就+1,然后遍历完一遍后和num比较。给定2维平面上n个整点的坐标,一条直线最多能过几个点?以下n行,每行2个整数分别表示每个点的x,y坐标。n原创 2023-03-01 19:54:20 · 147 阅读 · 0 评论 -
试题 算法训练 JOE的矩阵
最近JOE又在线性代数的模拟考中拿满分了,这直接导致了JOE对于计算矩阵的热情急剧下降,所以JOE希望能有这样一个程序能帮助他计算矩阵的秩。解释一下第四步,因为当前行的行首系数已经是1,所以其他行为了减去当前第一列的那排数,就得减去当前行的数乘以自己第一列的那个数。第三步:将当前行(即已经是最大行首的那一行)的所有数除以行首,也就是将行首的系数变成1。第四步:将当前行后面的其它行都减去当前行的数乘以其他行的行首。第三步,就是将x(即当前行的第一列)的系数化为1。第一行,两个数n,m,表示矩阵是n*m的。原创 2023-02-28 20:50:23 · 318 阅读 · 0 评论 -
试题 算法训练 N车
相当于动态规划,一开始用dfs始终要超时,后来查找了资料发现可以用动态规划来做。给定N×N的棋盘,问有多少种放置N个车使他们不互相攻击的方案。一行一个整数,表示方案数。原创 2023-02-28 20:05:44 · 105 阅读 · 0 评论 -
试题 算法训练 比较
m行,每行R2-L2+1个整数,第一个整数表示第L2个数在数列第L1到R1个数中不大于它的个数,第一个整数表示第L2+1个数在数列第L1到R1个数中不大于它的个数,以此类推。给出一个n长的数列,再进行m次询问,每次询问询问两个区间[L1,R1],[L2,R2],询问数列第L2到R2个数字每一个数在数列第L1到R1个数中有多少个数字不大于它。接下来m行,每行四个整数L1,R1,L2,R2,意义如上。n,m原创 2023-02-28 17:52:13 · 63 阅读 · 0 评论 -
试题 算法训练 唯一的傻子
只听见计33小导说“x号同学顺时针方向往后数的第k个的神犇出列(不包括x号同学),领取满分试卷!这样一个过程持续了n-1次,那么显然,最后只剩下了一个人。众所周知,2255是个大傻子,门门挂科,不符合满分试卷这一前提条件。腿铮找2255有点事,但2255太丑了,所以腿铮不知道他的长相。计33班有n个人,其中班长编号为0,其余同学依次按顺时针方向编号。2,最后一个测试点太大了,所以中间用scanf来输入,用cin就会超时。1,因为最后会只剩下一个人,所以最后一次开始的人一定是2255。原创 2023-02-27 20:01:47 · 176 阅读 · 3 评论 -
试题 算法训练 P0801
编写一个数组求和函数void Add(int n, int* a1, int* a2, int* result);其中n原创 2023-02-27 19:32:17 · 78 阅读 · 0 评论 -
试题 算法训练 P0802
编写一个字符串表达式求解函数int expression(char* s);输入一个字符串表达式,返回它的结果。表达式长度不会超过100。表达式最少有一项,且以等号=结束。表达式中只包含加法和减法,且运算均在整数范围之内。编写main函数测试该函数的正确性。我是把所有数字和符号都专门记录下来。原创 2023-02-27 15:47:04 · 123 阅读 · 0 评论 -
试题 算法训练 P0804
例如,若用户输入occurrence,经过压缩后,字符c的第2次出现被删除,第1和第3次出现仍保留;字符r和e的第2次出现均被删除,因此最后的结果为:ocurenc。(2) 如果该字符是第1次出现或第3次出现或第6次出现,则保留该字符。把每个字符对应的整数找到,用一个数组来存,然后排除特殊情况,正常就直接输出。(1) 如果该字符是空格,则保留该字符。编写main函数测试该函数的正确性。(3) 否则,删除该字符。原创 2023-02-26 20:33:57 · 71 阅读 · 0 评论 -
试题 算法训练 P0805
当两个比较大的整数相乘时,可能会出现数据溢出的情形。为避免溢出,可以采用字符串的方法来实现两个大数之间的乘法。具体来说,首先以字符串的形式输入两个整数,每个整数的长度不会超过10位,然后把它们相乘的结果存储在另一个字符串当中(长度不会超过20位),最后把这个字符串打印出来。例如,假设用户输入为:62773417和12345678,则输出结果为:774980393241726.这里是相当于把一个数组的一个数,和另一个数组的所有数都相乘,因为最后一位是可以确定的,所以每次把最后一位直接加到结果数组。原创 2023-02-26 16:31:52 · 157 阅读 · 0 评论 -
试题 算法训练 移动
接下来m行,每行一个整数mi,表示移动位数,若mi为正,表示向左移mi位,若mi为负数,表示向右移-mi位。给定一个n长的数列,有m次操作,第i次操作表示将整个数列循环移动mi位,询问每次操作结束后的开头k个数字。m行,每行k个数,表示开头k个数字。第一行三个整数n,m,k。想清楚移动的原理,然后就可以了。第二行n个整数表示数列。原创 2023-02-23 22:05:04 · 180 阅读 · 2 评论 -
试题 算法训练 斐波那契串
因为s本就是斐波那契串的一部分,所以它的数量也是符合斐波那契串的规律,当找到两个的时候,就能通过这两个找到下一个,然后一直循环到n。F[n] = F[n-1] + F[n-2] (n≥2,+表示连接)给出一个由0和1构成的串S和一个数n,求出F[n]中S出现的次数。先找能找到的,比如n=23的时候,有几个s,n=24的时候有几个s。n≤263-1,子串长≤10000,答案≤263-1。但是long long如果在main中声明,就会出错。如果直接找是找不到,太大了,找规律。但是在全局中声明,答案就是对的。原创 2023-02-23 21:48:51 · 1006 阅读 · 0 评论