
PAT(Basic Level)
ssqsssq
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
PAT1094 谷歌的招聘 (20分)(C语言)
Sample Input 120 523654987725541023819Sample Output 149877Sample Input 210 32468024680Sample Output 2404思路: 暴力打法,直接对k长度的数字,判断是不是素数即可。复杂度很高。。。代码:#include<stdio.h>#include<mat...原创 2019-12-12 21:17:43 · 1263 阅读 · 0 评论 -
PAT1093 字符串A+B (20分)
Sample InputThis is a sample testto show you_How it worksSample OutputThis ampletowyu_Hrk思路:输出时记录字符,如果字母输出过就不再输出即可。代码#include<iostream>#include<string>#include<map>us...原创 2020-01-12 11:45:22 · 154 阅读 · 0 评论 -
PAT1092 最好吃的月饼 (20分)(C语言)
Sample Input5 31001 992 0 233 68 0 2018 0 200836 18 0 1024 4Sample Output20183 5思路: 月饼很好吃,模拟就完事了。代码#include<stdio.h>int main(){ int n,m; scanf("%d %d",&n,&m); int i,j...原创 2019-12-31 10:15:07 · 337 阅读 · 0 评论 -
PAT1091 N-自守数 (15分)(C语言)
Sample Input392 5 233Sample Output3 253921 25No思路: 直接求值即可,成立输出答案,不成立输出No代码:#include<stdio.h>#include<math.h>int main(){ int n; scanf("%d",&n); int i; int...原创 2019-12-12 21:21:36 · 274 阅读 · 0 评论 -
PAT1087 有多少不同的值 (20 分)(C语言)
题目当自然数 n 依次取 1、2、3、……、N 时,算式 ⌊n/2⌋+⌊n/3⌋+⌊n/5⌋ 有多少个不同的值?(注:⌊x⌋ 为取整函数,表示不超过 x 的最大自然数,即 x 的整数部分。)输入格式:输入给出一个正整数 N(2≤N≤10^4)。输出格式:在一行中输出题面中算式取到的不同值的个数。输入样例:2017输出样例:1480思路: 直接上就行了,只要对比当前和前...原创 2019-08-23 17:47:48 · 349 阅读 · 0 评论 -
PAT1086 就不告诉你 (15分)(C语言)
Sample Input5 7Sample Output53思路: 算出乘积,逆序输出。代码:#include<stdio.h>int main(){ int a,b; scanf("%d %d",&a,&b); int n; n=a*b; int c[1000]; int i=0; while(n!=0){ c[i]=n%...原创 2019-12-09 11:18:21 · 524 阅读 · 2 评论 -
PAT1083 是否存在相等的差 (20 分)(C语言)
题目给定 N 张卡片,正面分别写上 1、2、……、N,然后全部翻面,洗牌,在背面分别写上 1、2、……、N。将每张牌的正反两面数字相减(大减小),得到 N 个非负差值,其中是否存在相等的差?输入格式:输入第一行给出一个正整数 N(2 ≤ N ≤ 10 000),随后一行给出 1 到 N 的一个洗牌后的排列,第 i 个数表示正面写了 i 的那张卡片背面的数字。输出格式:按照“差值 重复次数...原创 2019-08-25 09:21:46 · 196 阅读 · 0 评论 -
PAT1082 射击比赛 (20 分)(C语言)
题目本题目给出的射击比赛的规则非常简单,谁打的弹洞距离靶心最近,谁就是冠军;谁差得最远,谁就是菜鸟。本题给出一系列弹洞的平面坐标(x,y),请你编写程序找出冠军和菜鸟。我们假设靶心在原点(0,0)。输入格式:输入在第一行中给出一个正整数 N(≤ 10 000)。随后 N 行,每行按下列格式给出:ID x y其中 ID 是运动员的编号(由 4 位数字组成);x 和 y 是其打出的弹洞的平面...原创 2019-08-24 17:56:01 · 471 阅读 · 0 评论 -
PAT1076 Wifi密码 (15 分)(C语言)
题目下面是微博上流传的一张照片:“各位亲爱的同学们,鉴于大家有时需要使用 wifi,又怕耽误亲们的学习,现将 wifi 密码设置为下列数学题答案:A-1;B-2;C-3;D-4;请同学们自己作答,每两日一换。谢谢合作!!~”—— 老师们为了促进学生学习也是拼了…… 本题就要求你写程序把一系列题目的答案按照卷子上给出的对应关系翻译成 wifi 的密码。这里简单假设每道选择题都有 4 个选项,有且只...原创 2019-08-22 14:23:07 · 1434 阅读 · 0 评论 -
PAT1070 结绳 (25 分)(C语言)
题目给定一段一段的绳子,你需要把它们串成一条绳。每次串连的时候,是把两段绳子对折,再如下图所示套接在一起。这样得到的绳子又被当成是另一段绳子,可以再次对折去跟另一段绳子串连。每次串连后,原来两段绳子的长度就会减半。给定 N 段绳子的长度,你需要找出它们能串成的绳子的最大长度。输入格式:每个输入包含 1 个测试用例。每个测试用例第 1 行给出正整数 N (2≤N≤10^4);第 2 ...原创 2019-08-24 17:50:40 · 477 阅读 · 1 评论 -
PAT1066 图像过滤 (15 分)(C语言)
题目图像过滤是把图像中不重要的像素都染成背景色,使得重要部分被凸显出来。现给定一幅黑白图像,要求你将灰度值位于某指定区间内的所有像素颜色都用一种指定的颜色替换。输入格式:输入在第一行给出一幅图像的分辨率,即两个正整数 M 和 N(0<M,N≤500),另外是待过滤的灰度值区间端点 A 和 B(0≤A<B≤255)、以及指定的替换灰度值。随后 M 行,每行给出 N 个像素点的灰度值...原创 2019-08-24 18:07:27 · 214 阅读 · 0 评论 -
PAT1065 单身狗 (25分)(C语言)
Sample Input311111 2222233333 4444455555 66666755555 44444 10000 88888 22222 11111 23333Sample Output510000 23333 44444 55555 88888思路:我打开这道题的时候是条单身狗,现在已经有一个可爱的、美丽的女朋友啦,希望每个快乐的程序员都有自己所爱...原创 2019-12-31 10:10:53 · 837 阅读 · 0 评论 -
PAT1064 朋友数 (20 分)(C语言)
题目如果两个整数各位数字的和是一样的,则被称为是“朋友数”,而那个公共的和就是它们的“朋友证号”。例如 123 和 51 就是朋友数,因为 1+2+3 = 5+1 = 6,而 6 就是它们的朋友证号。给定一些整数,要求你统计一下它们中有多少个不同的朋友证号。输入格式:输入第一行给出正整数 N。随后一行给出 N 个正整数,数字间以空格分隔。题目保证所有数字小于 10^4。输出格式:首...原创 2019-08-22 15:51:22 · 367 阅读 · 0 评论 -
PAT1063 计算谱半径 (20 分)(C语言)
题目在数学中,矩阵的“谱半径”是指其特征值的模集合的上确界。换言之,对于给定的 n 个复数空间的特征值 { a1+b1i,⋯,an+bni },它们的模为实部与虚部的平方和的开方,而“谱半径”就是最大模。现在给定一些复数空间的特征值,请你计算并输出这些特征值的谱半径。输入格式:输入第一行给出正整数 N(≤ 10 000)是输入的特征值的个数。随后 N 行,每行给出 ...原创 2019-08-22 15:46:08 · 223 阅读 · 0 评论 -
PAT1061 判断题 (15 分)(C语言)
题目判断题的评判很简单,本题就要求你写个简单的程序帮助老师判题并统计学生们判断题的得分。输入格式:输入在第一行给出两个不超过 100 的正整数 N 和 M,分别是学生人数和判断题数量。第二行给出 M 个不超过 5 的正整数,是每道题的满分值。第三行给出每道题对应的正确答案,0 代表“非”,1 代表“是”。随后 N 行,每行给出一个学生的解答。数字间均以空格分隔。输出格式:按照输入的顺序输...原创 2019-08-23 17:40:49 · 887 阅读 · 0 评论 -
PAT1059 C语言竞赛 (20分)(C语言)
Sample Input61111666688881234555500016888800011111222288882222Sample Output8888: Minion0001: Chocolate1111: Mystery Award2222: Are you kidding?8888: Checked2222: Are you kidding...原创 2019-12-09 11:11:41 · 229 阅读 · 0 评论 -
PAT1057 数零壹 (20 分)(C语言)
题目给定一串长度不超过 10^5 的字符串,本题要求你将其中所有英文字母的序号(字母 a-z 对应序号 1-26,不分大小写)相加,得到整数 N,然后再分析一下 N 的二进制表示中有多少 0、多少 1。例如给定字符串 PAT (Basic),其字母序号之和为:16+1+20+2+1+19+9+3=71,而 71 的二进制是 1000111,即有 3 个 0、4 个 1。输入格式:输入在...原创 2019-08-23 17:51:29 · 367 阅读 · 0 评论 -
PAT1056 组合数的和 (15 分)(C语言)
题目给定 N 个非 0 的个位数字,用其中任意 2 个数字都可以组合成 1 个 2 位的数字。要求所有可能组合出来的 2 位数字的和。例如给定 2、5、8,则可以组合出:25、28、52、58、82、85,它们的和为330。输入格式:输入在一行中先给出 N(1 < N < 10),随后给出 N 个不同的非 0 个位数字。数字间以空格分隔。输出格式:输出所有可能组合出来的2位数...原创 2019-08-23 17:37:50 · 306 阅读 · 0 评论 -
PAT1049 数列的片段和 (20分)(C语言)
Sample Input40.1 0.2 0.3 0.4Sample Output5.00思路: 考虑每一位的数出现的次数。代码#include<stdio.h>int main(){ int n; scanf("%d",&n); int i; double a[100005]; for(i=0;i<n;i++){ scanf("%...原创 2019-12-31 10:49:10 · 299 阅读 · 0 评论 -
PAT1047 编程团体赛 (20 分)(C语言)
题目编程团体赛的规则为:每个参赛队由若干队员组成;所有队员独立比赛;参赛队的成绩为所有队员的成绩和;成绩最高的队获胜。现给定所有队员的比赛成绩,请你编写程序找出冠军队。输入格式:输入第一行给出一个正整数 N(≤10^4),即所有参赛队员总数。随后 N 行,每行给出一位队员的成绩,格式为:队伍编号-队员编号 成绩,其中队伍编号为 1 到 1000 的正整数,队员编号为 1 到 10 的...原创 2019-10-11 13:54:58 · 419 阅读 · 0 评论 -
PAT1046 划拳 (15 分)(C语言)
题目划拳是古老中国酒文化的一个有趣的组成部分。酒桌上两人划拳的方法为:每人口中喊出一个数字,同时用手比划出一个数字。如果谁比划出的数字正好等于两人喊出的数字之和,谁就赢了,输家罚一杯酒。两人同赢或两人同输则继续下一轮,直到唯一的赢家出现。下面给出甲、乙两人的划拳记录,请你统计他们最后分别喝了多少杯酒。输入格式:输入第一行先给出一个正整数 N(≤100),随后 N 行,每行给出一轮划拳的记录...原创 2019-08-23 17:27:49 · 274 阅读 · 0 评论 -
PAT1044 火星数字 (20分)(C语言)
Sample Input4295elo novtamSample Outputhel marmay11513思路: 打表神题,13进制 - 10进制转化,然后按照他的对应转化即可。代码#include<stdio.h>#include<string.h>int main(){ char a[100]; int n; int i;...原创 2019-12-31 10:22:41 · 575 阅读 · 0 评论 -
PAT1043 输出PATest (20 分)(C语言)
题目给定一个长度不超过 10^4 的、仅由英文字母构成的字符串。请将字符重新调整顺序,按 PATestPATest… 这样的顺序输出,并忽略其它字符。当然,六种字符的个数不一定是一样多的,若某种字符已经输出完,则余下的字符仍按 PATest 的顺序打印,直到所有字符都被输出。输入格式:输入在一行中给出一个长度不超过 10^4 的、仅由英文字母构成的非空字符串。输出格式:在一行...原创 2019-08-22 15:55:51 · 311 阅读 · 0 评论 -
PAT1042 字符统计 (20 分)(C语言)
题目请编写程序,找出一段给定文字中出现最频繁的那个英文字母。输入格式:输入在一行中给出一个长度不超过 1000 的字符串。字符串由 ASCII 码表中任意可见字符及空格组成,至少包含 1 个英文字母,以回车结束(回车不算在内)。输出格式:在一行中输出出现频率最高的那个英文字母及其出现次数,其间以空格分隔。如果有并列,则输出按字母序最小的那个字母。统计时不区分大小写,输出小写字母。输入样...原创 2019-08-23 17:54:55 · 273 阅读 · 0 评论 -
PAT1041 考试座位号 (15 分)(C语言)
题目每个 PAT 考生在参加考试时都会被分配两个座位号,一个是试机座位,一个是考试座位。正常情况下,考生在入场时先得到试机座位号码,入座进入试机状态后,系统会显示该考生的考试座位号码,考试时考生需要换到考试座位就座。但有些考生迟到了,试机已经结束,他们只能拿着领到的试机座位号码求助于你,从后台查出他们的考试座位号码。输入格式:输入第一行给出一个正整数 N(≤1000),随后 N 行,每行给出...原创 2019-08-22 15:43:12 · 2513 阅读 · 5 评论 -
PAT1039 到底买不买 (20 分)(C语言)
题目小红想买些珠子做一串自己喜欢的珠串。卖珠子的摊主有很多串五颜六色的珠串,但是不肯把任何一串拆散了卖。于是小红要你帮忙判断一下,某串珠子里是否包含了全部自己想要的珠子?如果是,那么告诉她有多少多余的珠子;如果不是,那么告诉她缺了多少珠子。为方便起见,我们用[0-9]、[a-z]、[A-Z]范围内的字符来表示颜色。例如在图1中,第3串是小红想做的珠串;那么第1串可以买,因为包含了全部她想要的珠...原创 2019-08-24 17:45:45 · 277 阅读 · 0 评论 -
PAT1038 统计同成绩学生 (20分)(C语言)
Sample Input1060 75 90 55 75 99 82 90 75 503 75 90 88Sample Output3 2 0思路: 用一个数组直接对所有的输入的分数的人计数,然后用第二个数组记录询问,最后直接打印即可。代码#include<stdio.h>int main(){ int n; int k; int i...原创 2019-12-31 10:34:59 · 290 阅读 · 0 评论 -
PAT1037 在霍格沃茨找零钱 (20 分)(C语言)
题目如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 —— 就如海格告诉哈利的:“十七个银西可(Sickle)兑一个加隆(Galleon),二十九个纳特(Knut)兑一个西可,很容易。”现在,给定哈利应付的价钱 P 和他实付的钱 A,你的任务是写一个程序来计算他应该被找的零钱。输入格式:输入在 1 行中分别给出 P 和 A,格式为 Galleon.Sickle.Knut,其间用 1 ...原创 2019-08-22 15:39:16 · 324 阅读 · 0 评论 -
PAT1036 跟奥巴马一起编程 (15 分)(C语言)
题目美国总统奥巴马不仅呼吁所有人都学习编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的总统。2014 年底,为庆祝“计算机科学教育周”正式启动,奥巴马编写了很简单的计算机代码:在屏幕上画一个正方形。现在你也跟他一起画吧!输入格式:输入在一行中给出正方形边长 N(3≤N≤20)和组成正方形边的某种字符 C,间隔一个空格。输出格式:输出由给定字符 C 画出的正方形。但是注意到行...原创 2019-08-22 14:26:49 · 849 阅读 · 0 评论 -
PAT1033 旧键盘打字 (20分)(C语言)
Sample Input:7+IE.7_This_is_a_test.Sample Output:_hs_s_a_tst思路: 和另一个题有点像,步骤反过来,输出结果。代码:#include<stdio.h>#include<string.h>char a[100005];char b[100005];int main(){ int n;...原创 2019-12-09 11:05:39 · 534 阅读 · 0 评论 -
PAT1032 挖掘机技术哪家强 (20分)(C语言)
Sample Input63 652 801 1002 703 403 0Sample Output2 150思路: 直接找最大就完事了,没难度。代码#include<stdio.h>int main(){ int n; scanf("%d",&n); int i; int a,b; int scor...原创 2019-12-31 10:28:39 · 260 阅读 · 0 评论 -
PAT1030 完美数列 (25分)(C++语言)
Sample Input10 82 3 20 4 5 1 6 7 8 9Sample Output8思路:sort函数排序后直接统计。代码#include<iostream>#include<cstdio>#include<algorithm>using namespace std;long long int a[100005]...原创 2020-01-10 18:37:30 · 214 阅读 · 0 评论 -
PAT1029 旧键盘 (20 分)(C语言)
题目旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及实际被输入的文字,请你列出肯定坏掉的那些键。输入格式:输入在 2 行中分别给出应该输入的文字、以及实际被输入的文字。每段文字是不超过 80 个字符的串,由字母 A-Z(包括大、小写)、数字 0-9、以及下划线 _(代表空格)组成。题目保证 2 个字符串均非空。输出格式:按照发现顺序,在一...原创 2019-08-25 09:45:14 · 855 阅读 · 0 评论 -
PAT1028 人口普查 (20分)(C语言)
Sample Input5John 2001/05/12Tom 1814/09/06Ann 2121/01/30James 1814/09/05Steve 1967/11/20Sample Output3 Tom John思路: 注意去掉不合理的部分,然后就可以判断输入的年龄,找最年轻和最老的。代码#include<iostream>#include<...原创 2019-12-31 10:18:43 · 348 阅读 · 0 评论 -
PAT1027 打印沙漏 (20 分)(C语言)
题目本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印***** *** * ********所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;首尾符号数相等。给定任意N个符号,不一定能正好组成一个沙漏。要求打印出的沙漏能用掉尽可能多的符号。输入格式:输入在...原创 2019-08-25 09:28:45 · 771 阅读 · 0 评论 -
PAT1026 程序运行时间 (15 分)(C语言)
题目要获得一个 C 语言程序的运行时间,常用的方法是调用头文件 time.h,其中提供了 clock() 函数,可以捕捉从程序开始运行到 clock() 被调用时所耗费的时间。这个时间单位是 clock tick,即“时钟打点”。同时还有一个常数 CLK_TCK,给出了机器时钟每秒所走的时钟打点数。于是为了获得一个函数 f 的运行时间,我们只要在调用 f 之前先调用 clock(),获得一个时钟...原创 2019-08-24 18:00:27 · 159 阅读 · 0 评论 -
PAT1025 反转链表 (25分)(C++语言)
Sample Input00100 6 400000 4 9999900100 1 1230968237 6 -133218 3 0000099999 5 6823712309 2 33218Sample Output00000 4 3321833218 3 1230912309 2 0010000100 1 9999999999 5 6823768237 6 -1...原创 2020-01-10 18:32:41 · 186 阅读 · 0 评论 -
PAT1024 科学计数法 (20分)(C语言)
Sample Input 1+1.23400E-03Sample Output 10.00123400Sample Input 2-1.2E+10Sample Output 2-12000000000思路: 字符串输入,先记录符号位,然后将E之前的数字转化成数字,将E后面的数字转化成幂的数。然后计算。代码#include<stdio.h>#include...原创 2019-12-31 10:00:12 · 675 阅读 · 2 评论 -
PAT1023 组个最小数 (20 分)(C语言)
题目给定数字 0-9 各若干个。你可以以任意顺序排列这些数字,但必须全部使用。目标是使得最后得到的数尽可能小(注意 0 不能做首位)。例如:给定两个 0,两个 1,三个 5,一个 8,我们得到的最小的数就是 10015558。现给定数字,请编写程序输出能够组成的最小的数。输入格式:输入在一行中给出 10 个非负整数,顺序表示我们拥有数字 0、数字 1、……数字 9 的个数。整数间用一个空格...原创 2019-08-22 14:35:35 · 386 阅读 · 0 评论 -
PAT1022 D进制的A+B (20 分)
题目输入两个非负 10 进制整数 A 和 B (≤2^30−1),输出 A+B 的 D (1<D≤10)进制数。输入格式:输入在一行中依次给出 3 个整数 A、B 和 D。输出格式:输出 A+B 的 D 进制数。输入样例:123 456 8输出样例:1103思路: 直接模拟。#include<stdio.h>int main(){ int a,...原创 2019-08-22 14:19:17 · 208 阅读 · 0 评论