PAT (Basic Level) Practise:1028. 人口普查
摘要:【题目链接】某城镇进行人口普查,得到了全体居民的生日。现请你写个程序,找出镇上最年长和最年轻的人。这里确保每个输入的日期都是合法的,但不一定是合理的——假设已知镇上没有超过200岁的老人,而今天是2014年9月6日,所以超过200岁的生日和未出生的生日都是不合理的,应该被过滤掉。输入格式:输入在第一...
阅读全文
posted @
2015-08-27 10:33
uTank
阅读(241)
推荐(0)
PAT (Basic Level) Practise:1014. 福尔摩斯的约会
摘要:【题目链接】大侦探福尔摩斯接到一张奇怪的字条:“我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm”。大侦探很快就明白了,字条上奇怪的乱码实际上就是约会的时间“星期四 14:04”,因为前面两字符串中第1对相同的大写英文字母(大小...
阅读全文
posted @
2015-08-26 14:58
uTank
阅读(686)
推荐(0)
PAT (Basic Level) Practise:1019. 数字黑洞
摘要:【题目链接】给定任一个各位数字不完全相同的4位正整数,如果我们先把4个数字按非递增排序,再按非递减排序,然后用第1个数字减第2个数字,将得到一个新的数字。一直重复这样做,我们很快会停在有“数字黑洞”之称的6174,这个神奇的数字也叫Kaprekar常数。例如,我们从6767开始,将得到7766 - ...
阅读全文
posted @
2015-08-26 10:46
uTank
阅读(263)
推荐(0)
PAT (Basic Level) Practise:1030. 完美数列
摘要:【题目链接】给定一个正整数数列,和正整数p,设这个数列中的最大值是M,最小值是m,如果M 2 3 int main(void) 4 { 5 unsigned int N; 6 unsigned int P; 7 unsigned int max = 0; 8 un...
阅读全文
posted @
2015-08-25 16:33
uTank
阅读(414)
推荐(0)
PAT (Basic Level) Practise:1010. 一元多项式求导
摘要:【题目链接】设计函数求一元多项式的导数。(注:xn(n为整数)的一阶导数为n*xn-1。)输入格式:以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。输出格式:以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。注意...
阅读全文
posted @
2015-08-25 10:48
uTank
阅读(249)
推荐(0)
PAT (Basic Level) Practise:1012. 数字分类
摘要:【题目链接】给定一系列正整数,请按要求对数字进行分类,并输出以下5个数字:A1 = 能被5整除的数字中所有偶数的和;A2 = 将被5除后余1的数字按给出顺序进行交错求和,即计算n1-n2+n3-n4...;A3 = 被5除后余2的数字的个数;A4 = 被5除后余3的数字的平均数,精确到小数点后1位;...
阅读全文
posted @
2015-08-24 18:40
uTank
阅读(227)
推荐(0)
PAT (Basic Level) Practise:1038. 统计同成绩学生
摘要:【题目链接】本题要求读入N名学生的成绩,将获得某一给定分数的学生人数输出。输入格式:输入在第1行给出不超过105的正整数N,即学生总人数。随后1行给出N名学生的百分制整数成绩,中间以空格分隔。最后1行给出要查询的分数个数K(不超过N的正整数),随后是K个分数,中间以空格分隔。输出格式:在一行中按查询...
阅读全文
posted @
2015-08-24 17:38
uTank
阅读(232)
推荐(0)
PAT (Basic Level) Practise:1018. 锤子剪刀布
摘要:【题目链接】大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,胜负规则如图所示:现给出两人的交锋记录,请统计双方的胜、平、负次数,并且给出双方分别出什么手势的胜算最大。输入格式:输入第1行给出正整数N( 2 3 // 0: 平,1:甲胜,2:乙胜 4 int calc_winner(int a...
阅读全文
posted @
2015-08-24 16:19
uTank
阅读(604)
推荐(0)
PAT (Basic Level) Practise:1032. 挖掘机技术哪家强
摘要:【题目链接】为了用事实说明挖掘机技术到底哪家强,PAT组织了一场挖掘机技能大赛。现请你根据比赛结果统计出技术最强的那个学校。输入格式:输入在第1行给出不超过105的正整数N,即参赛人数。随后N行,每行给出一位参赛者的信息和成绩,包括其所代表的学校的编号(从1开始连续编号)、及其比赛成绩(百分制),中...
阅读全文
posted @
2015-08-24 15:02
uTank
阅读(267)
推荐(0)
PAT (Basic Level) Practise:1031. 查验身份证
摘要:【题目链接】一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。校验码的计算规则如下:首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};然后将计算的和对11取模得到值Z;最后按照以下关系对应Z值与校验码M的值:Z:0...
阅读全文
posted @
2015-08-24 14:37
uTank
阅读(307)
推荐(0)
PAT (Basic Level) Practise:1026. 程序运行时间
摘要:【题目链接】要获得一个C语言程序的运行时间,常用的方法是调用头文件time.h,其中提供了clock()函数,可以捕捉从程序开始运行到clock()被调用时所耗费的时间。这个时间单位是clock tick,即“时钟打点”。同时还有一个常数CLK_TCK,给出了机器时钟每秒所走的时钟打点数。于是为了获...
阅读全文
posted @
2015-08-24 11:18
uTank
阅读(447)
推荐(0)
PAT (Basic Level) Practise:1016. 部分A+B
摘要:【题目链接】正整数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,中间以空格分隔,其...
阅读全文
posted @
2015-08-24 11:03
uTank
阅读(258)
推荐(0)
PAT (Basic Level) Practise:1037. 在霍格沃茨找零钱
摘要:【题目链接】如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 —— 就如海格告诉哈利的:“十七个银西可(Sickle)兑一个加隆(Galleon),二十九个纳特(Knut)兑一个西可,很容易。”现在,给定哈利应付的价钱P和他实付的钱A,你的任务是写一个程序来计算他应该被找的零钱。输入格式:输...
阅读全文
posted @
2015-08-24 10:51
uTank
阅读(1300)
推荐(1)
PAT (Basic Level) Practise:1023. 组个最小数
摘要:【题目链接】给定数字0-9各若干个。你可以以任意顺序排列这些数字,但必须全部使用。目标是使得最后得到的数尽可能小(注意0不能做首位)。例如:给定两个0,两个1,三个5,一个8,我们得到的最小的数就是10015558。现给定数字,请编写程序输出能够组成的最小的数。输入格式:每个输入包含1个测试用例。每...
阅读全文
posted @
2015-08-21 16:09
uTank
阅读(1341)
推荐(0)
PAT (Basic Level) Practise:1022. D进制的A+B
摘要:【题目连接】输入两个非负10进制整数A和B( 2 3 int convert(int a, int b, int c, int *d, int len) 4 { 5 int cnt, x; 6 int calc = a + b; 7 8 cnt = 0; 9 ...
阅读全文
posted @
2015-08-21 15:51
uTank
阅读(665)
推荐(0)
PAT (Basic Level) Practise:1006. 换个格式输出整数
摘要:【题目链接】让我们用字母B来表示“百”、字母S表示“十”,用“12...n”来表示个位数字n(void test(void){ int c1, c2, c3; int i, num; scanf("%d", &num); c1 = num / 100; c2 = num...
阅读全文
posted @
2015-06-11 17:03
uTank
阅读(277)
推荐(0)
PAT (Basic Level) Practise:1005. 继续(3n+1)猜想
摘要:【题目链接】卡拉兹(Callatz)猜想已经在1001中给出了描述。在这个题目里,情况稍微有些复杂。当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数。例如对n=3进行验证的时候,我们需要计算3、5、8、4、2、1,则当我们对n=5、8、4、2进行验证的时候,就可以直接...
阅读全文
posted @
2015-06-11 16:32
uTank
阅读(1862)
推荐(0)
PAT (Basic Level) Practise:1007. 素数对猜想
摘要:【题目链接】让我们定义 dn为:dn= pn+1- pn,其中 pi是第i个素数。显然有 d1=1 且对于n>1有 dn是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。现给定任意正整数N ( 2 #include 3 4 int isPrime(unsigned int num) ...
阅读全文
posted @
2015-06-11 15:24
uTank
阅读(357)
推荐(0)
PAT (Basic Level) Practise:1009. 说反话
摘要:【题目链接】给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过80的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用1个空格分开,输入保证句子末尾没有多余的空格。输出格式:每个测...
阅读全文
posted @
2015-06-09 15:41
uTank
阅读(309)
推荐(1)
PAT (Basic Level) Practise:1008. 数组元素循环右移问题
摘要:【题目连接】一个数组A中存有N(N>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(M>=0)个位置,即将A中的数据由(A0A1……AN-1)变换为(AN-M…… AN-1A0A1……AN-M-1)(最后M个数循环移至最前面的M个位置)。如果需要考虑程序移动数据的次数尽量少,要如何...
阅读全文
posted @
2015-06-09 14:54
uTank
阅读(5151)
推荐(0)