随笔分类 -  其它--PAT乙级题练习

1019 数字黑洞 (C++ and Pyhton)
摘要:给定任一个各位数字不完全相同的 4 位正整数,如果我们先把 4 个数字按非递增排序,再按非递减排序,然后用第 1 个数字减第 2 个数字,将得到一个新的数字。一直重复这样做,我们很快会停在有“数字黑洞”之称的 6174,这个神奇的数字也叫 Kaprekar 常数。 例如,我们从6767开始,将得到
438
0
0
1018 锤子剪刀布(C++)
摘要:题目链接:点击进入 这道题主要细节上得考虑到,难度没有,我用一个容器,vec[0]存储平手,vec[1/2/3]分别存储甲胜--1.出“B”赢 2.出“C”赢 3.出“J”赢, vec[4/5/6]分别存储乙赢--4.出“B”赢 5.出“C”赢 6.出“J”赢 第一次提交,测试点1,2,4错误,发现
337
0
0
1017 A除以B(C++/Python)
摘要:这道要使用数组或者字符串类型来存储被除数。 有两种大致的思路: 1.我们以前计算商,从右往左计算,不足,向前借1,在这里我们可以从左到右计算: 不足,前一个数减一,当前一个数为0时,此时商为0,余数为除数 整除,... 不能整除,进行下一位计算时,需要加上上一个数的余数 注意0的输出 2.可以理解成
841
0
0
1016 部分A+B(C++)
摘要:思路: 1.分别找到A和B中PA和PB 2.利用关系式计算值 针对1:可以将A储存到字符串或者字符数组中,遍历查找整型PA或PB 针对2:找到关系式a = a * 10 + tempA tempA:初始输入的PA a:最终计算的值 C++和C代码类似,C代码就是将字符串换成字符数组,迭代器遍历换成下
214
0
0
1015 德才论(C++)
摘要:这道题同样理清楚给的条件和思路就行。 这道题总的就两个步骤: 我这里使用了tuple 分类 按照题干,分为: 1.才德全尽 2.德胜才 3.才德兼亡,但尚有“德胜才” 4.达标 排序 利用sort排序(如果使用冒泡排序会出现,在大量数据进行测试时,运行超时的情况),具体的排序标准为: 首先通过类别排
400
0
0
1014 福尔摩斯的约会 (C和C++版本)
摘要:这道题主要是细节问题: 前两行输入: 第二次查询是在第一次查询基础上进行 时间,未满10前面要有0,例如:星期一 05:06 第一,二次查询的相同,都是在同一位置上相同 第一次查询是MON~SUN,对应字母A~G,只能规定'A' ~'G'(测试点4) 第二次查询A~N就只能A~N,用isupper(
413
0
0
1013 数素数 (C和C++版本)
摘要:思路: C++: C
499
0
0
1012 数字分类 (20 分(C和C++版本)
摘要:这道题其实就是按照要求写程序,注意几个细节就没有问题: 1.数字不存在是指不满足条件的数字(例如:A1...) 2.A2中可能会使所求的变量值为0,因此在这里不能用所求变量的值为0判断。 C++版本: C语言版本:
906
0
0
1011 A+B 和 C (15 分)(C和C++ version)
摘要:int 所占字节数为:4 表示范围为:-2147483648~2147483647 short int 所占字节数为:2 表示范围为:-32768~+32767 long 所占字节数为:4 表示范围为:-2147483648~2147483647 long long 所占字节数为:8 表示范围为:9
1024
0
0
1010 一元多项式求导 (25 分)
摘要:设计函数求一元多项式的导数。(注:x​n​​(n为整数)的一阶导数为nx​n−1​​。) 输入格式: 以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过 1000 的整数)。数字间以空格分隔。 输出格式: 以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余
446
0
0
1009 说反话(20 分)
摘要:一个数组A中存有N(>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(≥0)个位置,即将A中的数据由(A​0​​A​1​​⋯A​N−1​​)变换为(A​N−M​​⋯A​N−1​​A​0​​A​1​​⋯A​N−M−1​​)(最后M个数循环移至最前面的M个位置)。如果需要考虑程序移动数
631
0
0
1008 数组元素循环右移问题(20 分)(C/C++)
摘要:一个数组A中存有N(>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(≥0)个位置,即将A中的数据由(A​0​​A​1​​⋯A​N−1​​)变换为(A​N−M​​⋯A​N−1​​A​0​​A​1​​⋯A​N−M−1​​)(最后M个数循环移至最前面的M个位置)。如果需要考虑程序移动数
242
0
0
1007 素数对猜想(20 分)(C/C++版本)
摘要:让我们定义d​n​​为:d​n​​=p​n+1​​−p​n​​,其中p​i​​是第i个素数。显然有d​1​​=1,且对于n>1有d​n​​是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。 现给定任意正整数N(<),请计算不超过N的满足猜想的素数对的个数。 输入格式: 输入在一行给出正整
954
0
0
1005 继续(3n+1)猜想
摘要:卡拉兹(Callatz)猜想已经在1001中给出了描述。在这个题目里,情况稍微有些复杂。 当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数。例如对 n=3 进行验证的时候,我们需要计算 3、5、8、4、2、1,则当我们对 n=5、8、4、2 进行验证的时候,就可以直接
125
0
0
1006 换个格式输出整数
摘要:这道题,,,,,似乎没什么讲的,思想就是看有几个一百,几个十,剩下的就是个位,然后,让百,十的数量每次减一,打出B,S,然后个也是减一,不过输出每次从1加一就行。
218
0
0
1004 成绩排名
摘要:在第18排代码那里,在Ubuntu16.04LTS中,用g++运行,出现警告char*....char*[10],需要在是、那两个字符串后面添上[10]才能没有警告,而在pat提交中如果有[10]会显示答案错误。有点迷。 刚开始我是用二维数组的方法做出来的。刚刚依照上面的方法改了下,对了,哈哈嗝!
194
0
0
1003 我要通过!(C和C++版本)
摘要:还是借鉴别人的提示,知道了后面一句的意思。要实现的是,使在字符P之前的A数量*P,T之间A的数量=T后面A的数量 这PAT提示的错误不知道哪里错了,看到很无奈,输入输出明明和它一样.=.=..... 2018-03-14 18:11 补充:发现一个问题,这道题PAT满足条件,那TAP也是应该满足条件
794
0
0
做题小感(递归)
该文被密码保护。
21
0
0
1002 写出这个数
摘要:读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。 输入格式:每个测试输入包含1个测试用例,即给出自然数n的值。这里保证n小于10100。 输出格式:在一行内输出n的各位数字之和的每一位,拼音数字间有1 空格,但一行中最后一个拼音数字后没有空格。 输入样例: 输出样例: 看一下下面
325
0
0
3n+1猜想
摘要:1001. 害死人不偿命的(3n+1)猜想 (15) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 时间限制 400 ms 时间限制 400 ms 内存限制 65536 kB 内存限制 65536 kB 代码长度
1110
0
0
点击右上角即可分享
微信分享提示
深色
回顶
收起