PAT乙级
文章平均质量分 51
秃头程序员儿
这个作者很懒,什么都没留下…
展开
-
PAT乙级(Bascic Level)1037(C++)
1037. 在霍格沃茨找零钱(20)如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 —— 就如海格告诉哈利的:“十七个银西可(Sickle)兑一个加隆(Galleon),二十九个纳特(Knut)兑一个西可,很容易。”现在,给定哈利应付的价钱P和他实付的钱A,你的任务是写一个程序来计算他应该被找的零钱。输入格式:输入在1行中分别给出P和A,格式为“Gal原创 2016-08-15 16:10:35 · 1308 阅读 · 0 评论 -
PAT乙级(Basic Level)1010(C++)
1010. 一元多项式求导 (25)设计函数求一元多项式的导数。(注:xn(n为整数)的一阶导数为n*xn-1。)输入格式:以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。输出格式:以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。注意“零多项式”的指数和系数都是0,但是表示为“原创 2016-08-25 21:19:34 · 893 阅读 · 1 评论 -
PAT乙级(Basic Level)1012(C++)
1012. 数字分类 (20)给定一系列正整数,请按要求对数字进行分类,并输出以下5个数字:A1 = 能被5整除的数字中所有偶数的和;A2 = 将被5除后余1的数字按给出顺序进行交错求和,即计算n1-n2+n3-n4...;A3 = 被5除后余2的数字的个数;A4 = 被5除后余3的数字的平均数,精确到小数点后1位;A5 = 被5除后余4的数字中最大数字。输入格式:原创 2016-08-26 07:51:43 · 243 阅读 · 1 评论 -
PAT乙级(Basic Level)1023(Java/C++)
1023. 组个最小数 (20)此代码提交运行超时给定数字0-9各若干个。你可以以任意顺序排列这些数字,但必须全部使用。目标是使得最后得到的数尽可能小(注意0不能做首位)。例如:给定两个0,两个1,三个5,一个8,我们得到的最小的数就是10015558。现给定数字,请编写程序输出能够组成的最小的数。输入格式:每个输入包含1个测试用例。每个测试用例在一行中给出10个非负整数,原创 2016-08-12 10:06:20 · 528 阅读 · 0 评论 -
PAT乙级(Basic Level)1001(Java)
1001. 害死人不偿命的(3n+1)猜想 (15)卡拉兹(Callatz)猜想:对任何一个自然数n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把(3n+1)砍掉一半。这样一直反复砍下去,最后一定在某一步得到n=1。对给定的任一不超过1000的正整数n,简单地数一下,需要多少步(砍几下)才能得到n=1?输入格式:每个测试输入包含1个测试用例,即给出自然数n的值。输出格式原创 2016-08-12 09:28:27 · 373 阅读 · 0 评论 -
PAT乙级(Basic Level)1041(C++)
1041. 考试座位号(15) 每个PAT考生在参加考试时都会被分配两个座位号,一个是试机座位,一个是考试座位。 正常情况下,考生在入场时先得到试机座位号码,入座进入试机状态后,系统会显示该考生的考试座位号码,考试时考生需要换到考试座位就座。 但有些考生迟到了,试机已经结束,他们只能拿着领到的试机座位号码求助于你,从后台查出他们的考试座位号码。输入原创 2016-08-13 09:38:49 · 326 阅读 · 0 评论 -
PAT乙级(Basic Level)1046(Java)
/** 划拳(15) 划拳是古老中国酒文化的一个有趣的组成部分。酒桌上两人划拳的方法为: 每人口中喊出一个数字,同时用手比划出一个数字。 如果谁比划出的数字正好等于两人喊出的数字之和,谁就赢了,输家罚一杯酒。 两人同赢或两人同输则继续下一轮,直到唯一的赢家出现。下面给出甲、乙两人的划拳记录,请你统计他们最后分别喝了多少杯酒。输入格式:输入第一行先给出一个正整原创 2016-08-02 22:17:04 · 375 阅读 · 0 评论 -
PAT乙级(Basic Level)1021(Java)
/**1021. 个位数统计 (15)给定一个k位整数N请编写程序统计每种不同的个位数字出现的次数。例如:给定N = 100311,则有2个0,3个1,和1个3。输入格式:每个输入包含1个测试用例,即一个不超过1000位的正整数N。输出格式:对N中每一种不同的个位数字,以D:M的格式在一行中输出该位数字D及其在N中出现的次数M。要求按D的升序输出。输入样例:10原创 2016-08-02 22:00:46 · 449 阅读 · 0 评论 -
PAT乙级(Basic Leve)1043(C++)
1043. 输出PATest(20)给定一个长度不超过10000的、仅由英文字母构成的字符串。请将字符重新调整顺序,按“PATestPATest....”这样的顺序输出,并忽略其它字符。当然,六种字符的个数不一定是一样多的,若某种字符已经输出完,则余下的字符仍按PATest的顺序打印,直到所有字符都被输出。输入格式:输入在一行中给出一个长度不超过10000的、仅由英原创 2016-08-12 14:52:32 · 361 阅读 · 0 评论 -
PAT乙级(Basic Level)1006(Java)
/**换个格式输出整数(15)让我们用字母B来表示“百”、字母S表示“十”,用“12...n”来表示个位数字n(换个格式来输出任一个不超过3位的正整数。例如234应该被输出为BBSSS1234,因为它有2个“百”、3个“十”、以及个位的4。输入格式:每个测试输入包含1个测试用例,给出正整数n(输出格式:每个测试用例的输出占一行,用规定的格式输出n。输入样例1:234原创 2016-08-02 21:53:10 · 252 阅读 · 0 评论 -
PAT乙级(Basic Level)1042(Java)
/**1042. 字符统计(20)请编写程序,找出一段给定文字中出现最频繁的那个英文字母。输入格式:输入在一行中给出一个长度不超过1000的字符串。字符串由ASCII码表中任意可见字符及空格组成,至少包含1个英文字母,以回车结束(回车不算在内)。输出格式:在一行中输出出现频率最高的那个英文字母及其出现次数,其间以空格分隔。如果有并列,则输出按字母序最小的那个字母。原创 2016-08-03 13:19:18 · 421 阅读 · 0 评论 -
PAT乙级(Basic Level)1009(Java)
1009. 说反话 (20) 给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过80的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用1个空格分开,输入保证句子末尾没有多余的空格。输出格式:每个测试用例的输出占一行,输出倒序后的句子。原创 2016-08-01 23:12:26 · 384 阅读 · 0 评论 -
PAT乙级(Basic Level)1048(C++)
1048. 数字加密(20)本题要求实现一种数字加密方法。首先固定一个加密用正整数A,对任一正整数B,将其每1位数字与A的对应位置上的数字进行以下运算:对奇数位,对应位的数字相加后对13取余——这里用J代表10、Q代表11、K代表12;对偶数位,用B的数字减去A的数字,若结果为负数,则再加10。这里令个位为第1位。输入格式:输入在一行中依次给出A和B,均为不超过10原创 2016-08-26 09:12:16 · 345 阅读 · 0 评论 -
PAT乙级(Basic Level)1036(C++)
1036. 跟奥巴马一起编程(15)美国总统奥巴马不仅呼吁所有人都学习编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的总统。2014年底,为庆祝“计算机科学教育周”正式启动,奥巴马编写了很简单的计算机代码:在屏幕上画一个正方形。现在你也跟他一起画吧!输入格式:输入在一行中给出正方形边长N(3输出格式:输出由给定字符C画出的正方形。但原创 2016-08-15 12:48:14 · 579 阅读 · 0 评论 -
PAT乙级(Basic Level)1049(C++)
1049. 数列的片段和(20)给定一个正数数列,我们可以从中截取任意的连续的几个数,称为片段。例如,给定数列{0.1, 0.2, 0.3, 0.4},我们有(0.1) (0.1, 0.2) (0.1, 0.2, 0.3) (0.1, 0.2, 0.3, 0.4) (0.2) (0.2, 0.3) (0.2, 0.3, 0.4) (0.3) (0.3, 0.4) (0.4) 这原创 2016-08-27 08:23:06 · 375 阅读 · 0 评论 -
PAT乙级(Basic Level)1017(Java)
1017. A除以B (20)时间限制100 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者CHEN, Yue本题要求计算A/B,其中A是不超过1000位的正整数,B是1位正整数。你需要输出商数Q和余数R,使得A =原创 2016-08-25 12:01:46 · 406 阅读 · 0 评论 -
PAT乙级(Basic Level)1011(C++)
1011. A+B和C (15)时间限制100 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者HOU, Qiming给定区间[-231, 231]内的3个整数A、B和C,请判断A+B是否大于C。输入格式:原创 2016-08-25 10:52:06 · 344 阅读 · 0 评论 -
PAT乙级(Basic Level)1027(C++)
1027. 打印沙漏(20)本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印***** *** * ********所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;首尾符号数相等。给定任意N个符号,不一定能正好组成一个沙漏。要求打原创 2016-08-15 18:54:19 · 428 阅读 · 0 评论 -
PAT乙级(Basic Level)1026(C++)
1026. 程序运行时间(15)要获得一个C语言程序的运行时间,常用的方法是调用头文件time.h,其中提供了clock()函数,可以捕捉从程序开始运行到clock()被调用时所耗费的时间。这个时间单位是clock tick,即“时钟打点”。同时还有一个常数CLK_TCK,给出了机器时钟每秒所走的时钟打点数。于是为了获得一个函数f的运行时间,我们只要在调用f之前先调用clock(),获得一原创 2016-08-15 19:56:54 · 394 阅读 · 0 评论 -
PAT乙级(Basic Level)1050(C++)
1050. 螺旋矩阵(25)本题要求将给定的N个正整数按非递增的顺序,填入“螺旋矩阵”。所谓“螺旋矩阵”,是指从左上角第1个格子开始,按顺时针螺旋方向填充。要求矩阵的规模为m行n列,满足条件:m*n等于N;m>=n;且m-n取所有可能值中的最小值。输入格式:输入在第1行中给出一个正整数N,第2行给出N个待填充的正整数。所有数字不超过104,相邻数字以空格分隔。原创 2016-08-27 12:00:35 · 1095 阅读 · 0 评论 -
PAT乙级(Basic Level)1016(Java)
部分A+B (15)正整数A的“DA(为1位整数)部分”定义为由A中所有DA组成的新整数PA。例如:给定A = 3862767,DA = 6,则A的“6部分”PA是66,因为A中有2个6。现给定A、DA、B、DB,请编写程序计算PA + PB。输入格式:输入在一行中依次给出A、DA、B、DB,中间以空格分隔,其中0 输出格式:在一行中输出PA + PB的值。输入样例原创 2016-08-12 16:03:41 · 283 阅读 · 0 评论 -
PAT乙级(Basic Level)1031(C++)
1031. 查验身份证(15)个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。校验码的计算规则如下:原创 2016-08-15 21:41:20 · 345 阅读 · 0 评论 -
PAT乙级(Basic Level)1004(C++/Java)
1004. 成绩排名 (20)读入n名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。第1行:正整数n 第2行:第1个学生的姓名 学号 成绩 第3行:第2个学生的姓名 学号 成绩 ... ... ... 第n+1行:第n个学生的姓名 学号 成绩其中姓名和学号均为不超过10个字符的字符串,成绩为0到100之间的一个整数,这里原创 2016-08-23 10:17:18 · 370 阅读 · 0 评论 -
PAT乙级(Basic Level)1029(C++)
1029. 旧键盘(20)旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及实际被输入的文字,请你列出肯定坏掉的那些键。输入格式:输入在2行中分别给出应该输入的文字、以及实际被输入的文字。每段文字是不超过80个字符的串,由字母A-Z(包括大、小写)、数字0-9、以及下划线“_”(代表空格)组成。题目保证2个字符串均原创 2016-08-23 11:20:26 · 348 阅读 · 0 评论 -
PAT乙级(Basic Level)1008(C++)
1008. 数组元素循环右移问题 (20)一个数组A中存有N(N>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(M>=0)个位置,即将A中的数据由(A0A1……AN-1)变换为(AN-M …… AN-1 A0 A1……AN-M-1)(最后M个数循环移至最前面的M个位置)。如果需要考虑程序移动数据的次数尽量少,要如何设计移动的方法?输入格式:每个输入包原创 2016-08-24 09:03:17 · 808 阅读 · 0 评论 -
PAT乙级(Basic Level)1018(C++)
1018. 锤子剪刀布 (20)现给出两人的交锋记录,请统计双方的胜、平、负次数,并且给出双方分别出什么手势的胜算最大。输入格式:输入第1行给出正整数N(5),即双方交锋的次数。随后N行,每行给出一次交锋的信息,即甲、乙双方同时给出的的手势。C代表“锤子”、J代表“剪刀”、B代表“布”,第1个字母代表甲方,第2个代表乙方,中间有1个空格。输出格式:输出第原创 2016-08-24 09:24:24 · 734 阅读 · 0 评论 -
PAT乙级(Basic Level)1039(C++)
1039. 到底买不买(20)小红想买些珠子做一串自己喜欢的珠串。卖珠子的摊主有很多串五颜六色的珠串,但是不肯把任何一串拆散了卖。于是小红要你帮忙判断一下,某串珠子里是否包含了全部自己想要的珠子?如果是,那么告诉她有多少多余的珠子;如果不是,那么告诉她缺了多少珠子。为方便起见,我们用[0-9]、[a-z]、[A-Z]范围内的字符来表示颜色。例如在图1中,第3串是小红想做的珠原创 2016-08-24 11:26:04 · 376 阅读 · 0 评论 -
PAT乙级(Basic Level)1002(C++)
1002. 写出这个数 (20)读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。输入格式:每个测试输入包含1个测试用例,即给出自然数n的值。这里保证n小于10100。输出格式:在一行内输出n的各位数字之和的每一位,拼音数字间有1 空格,但一行中最后一个拼音数字后没有空格。输入样例:1234567890987654321123456789原创 2016-08-24 20:47:53 · 774 阅读 · 0 评论 -
PAT乙级(Basic Level)1032(C++)
1032. 挖掘机技术哪家强(20)为了用事实说明挖掘机技术到底哪家强,PAT组织了一场挖掘机技能大赛。现请你根据比赛结果统计出技术最强的那个学校。输入格式:输入在第1行给出不超过105的正整数N,即参赛人数。随后N行,每行给出一位参赛者的信息和成绩,包括其所代表的学校的编号(从1开始连续编号)、及其比赛成绩(百分制),中间以空格分隔。输出格式:在一原创 2016-08-24 22:22:22 · 578 阅读 · 0 评论 -
PAT乙级(Basic Level)1022(C++)
1022. D进制的A+B (20)时间限制100 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者CHEN, Yue输入两个非负10进制整数A和B(30-1),输出A+B的D (1 输入格式:输原创 2016-08-25 08:05:27 · 248 阅读 · 0 评论 -
PAT乙级(Basic Level)1038(C++)
1038. 统计同成绩学生(20)时间限制250 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者CHEN, Yue本题要求读入N名学生的成绩,将获得某一给定分数的学生人数输出。输入格式:输入在第1行给出原创 2016-08-25 08:13:55 · 290 阅读 · 0 评论 -
入门训练 Fibonacci数列
问题描述Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。输入格式输入包含一个整数n。输出格式输出一行,包含一个整数,表示Fn除以10007的余数。说明:在本题中,答案是要求Fn除以10007的余数,因此我们只要能算出这个余原创 2017-02-09 18:59:37 · 213 阅读 · 0 评论