![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
PTA(Programming T Assistant)
文章平均质量分 67
算法题目解析
东洋 Dongyang
人一能之,己百之,人十能之,己千之。从未成功过,也从未放弃过。
展开
-
PAT (Basic Level) Practice 1083 是否存在相等的差 (20 分) Python解法
目录一、题目二、输入输出三、样例四、题目分析 一、题目 给定 N 张卡片,正面分别写上 1、2、……、N,然后全部翻面,洗牌,在背面分别写上 1、2、……、N。将每张牌的正反两面数字相减(大减小),得到 N 个非负差值,其中是否存在相等的差? 二、输入输出 输入格式: 输入第一行给出一个正整数 N(2 ≤ N ≤ 10 000),随后一行给出 1 到 N 的一个洗牌后的排列,第 i 个数表示正面写了 i 的那张卡片背面的数字。 输出格式: 按照“差值 重复次数”的格式从大到小输出重复的差值及其重复的次数,每原创 2022-01-17 08:10:18 · 151 阅读 · 0 评论 -
PAT (Basic Level) Practice 1036 跟奥巴马一起编程 Python解法
目录一、题目二、输入输出三、样例四、题目分析 一、题目 美国总统奥巴马不仅呼吁所有人都学习编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的总统。2014 年底,为庆祝“计算机科学教育周”正式启动,奥巴马编写了很简单的计算机代码:在屏幕上画一个正方形。现在你也跟他一起画吧! 二、输入输出 输入格式: 输入在一行中给出正方形边长 N(3≤N≤20)和组成正方形边的某种字符 C,间隔一个空格。 输出格式: 输出由给定字符 C 画出的正方形。但是注意到行间距比列间距大,所以为了让结果看上去更像正方形,原创 2022-01-09 15:43:55 · 581 阅读 · 0 评论 -
PAT (Basic Level) Practice 1005 继续(3n+1)猜想 Python解法
目录一、题目二、输入输出三、样例四、题目分析 一、题目 卡拉兹(Callatz)猜想已经在1001中给出了描述。在这个题目里,情况稍微有些复杂。 当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数。例如对 n=3 进行验证的时候,我们需要计算 3、5、8、4、2、1,则当我们对 n=5、8、4、2 进行验证的时候,就可以直接判定卡拉兹猜想的真伪,而不需要重复计算,因为这 4 个数已经在验证3的时候遇到过了,我们称 5、8、4、2 是被 3“覆盖”的数。我们称一个数列中的某个数原创 2022-01-09 14:13:15 · 232 阅读 · 0 评论 -
PAT (Basic Level) Practice 1010 一元多项式求导 Python解法
目录一、题目二、输入输出三、样例四、题目分析五、Python代码 一、题目 设计函数求一元多项式的导数。(注:x^n(n为整数)的一阶导数为nx ^n−1 。) 二、输入输出 输入格式: 以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过 1000 的整数)。数字间以空格分隔。 输出格式: 以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。注意“零多项式”的指数和系数都是 0,但是表示为 0 0。 三、样例 输入样例: 3 4 -5 2 6 1 -2 0 结原创 2022-01-08 15:47:16 · 1196 阅读 · 0 评论 -
PAT (Basic Level) Practice 1003 我要通过 Python解法
目录一、题目二、输入输出三、样例四、题目分析五、Python代码 一、题目 让我们定义d n为:d n=p n+1−p n ,其中p i 是第i个素数。显然有d 1=1,且对于n>1有d n是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。 现给定任意正整数N(<10 5),请计算不超过N的满足猜想的素数对的个数。 二、输入输出 输入格式: 输入在一行给出正整数N。 输出格式: 在一行中输出不超过N的满足猜想的素数对的个数。 三、样例 输入样例: 20 输出样例: 4 四、题目分原创 2022-01-05 19:26:27 · 697 阅读 · 0 评论 -
PAT (Basic Level) Practice 1055 集体照 Python解法
目录一、题目二、输入输出三、样例四、题目分析五、Python代码 一、题目 拍集体照时队形很重要,这里对给定的 N 个人 K 排的队形设计排队规则如下: 1.每排人数为 N/K(向下取整),多出来的人全部站在最后一排; 后排所有人的个子都不比前排任何人矮; 2.每排中最高者站中间(中间位置为 m/2+1,其中 m 为该排人数,除法向下取整); 3.每排其他人以中间人为轴,按身高非增序,先右后左交替入队站在中间人的两侧(例如5人身高为190、188、186、175、170,则队形为175、188、190、1原创 2021-05-03 16:34:37 · 334 阅读 · 0 评论 -
PAT (Basic Level) Practice1004成绩排名Python解法
目录一、题目二、输入输出三、样例四、题目分析五、Python代码 一、题目 读入 n(>0)名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。 二、输入输出 每个测试输入包含 1 个测试用例,格式为 第 1 行:正整数 n 第 2 行:第 1 个学生的姓名 学号 成绩 第 3 行:第 2 个学生的姓名 学号 成绩 … … … 第 n+1 行:第 n 个学生的姓名 学号 成绩 其中姓名和学号均为不超过 10 个字符的字符串,成绩为 0 到 100 之间的一个整数,这里保证在一组测试用原创 2021-05-03 09:59:37 · 227 阅读 · 0 评论