PAT (Basic Level) Practise
Cassie曹
这个作者很懒,什么都没留下…
展开
-
1011. A+B和C (15)
1011.A+B和C给定区间[-231, 231]内的3个整数A、B和C,请判断A+B是否大于C。输入格式:输入第1行给出正整数T(输出格式:对每组测试用例,在一行中输出“Case #X: true”如果A+B>C,否则输出“Case #X: false”,其中X是测试用例的编号(从1开始)。输入样例:41 2 32 3 42147483原创 2016-03-29 22:41:28 · 287 阅读 · 0 评论 -
1002. 写出这个数 (20)
#includeusing namespace std;void output(int a){ switch(a){ case 0:cout<<"ling";break; case 1:cout<<"yi";break; case 2:cout<<"er";break; case 3:cout<<"san";break; case 4:cout<<"si";break;原创 2016-03-27 20:21:44 · 237 阅读 · 0 评论 -
1003. 我要通过!(20)
//字符串中只有一个P,一个T,n个A //P之前的A数目*P与T之间的A的数目=P后面的A的数目 #include#includeusing namespace std;int main(){ char str[110]={0}; int n,len,pos_P,pos_T,count_P,count_A,count_T; cin>>n; for(int i=0;i<n;i++原创 2016-03-27 20:29:18 · 262 阅读 · 0 评论 -
1004. 成绩排名 (20)
#include#includeusing namespace std;int main(){ int n,i; string name[1000]; string num[1000]; int score[1000]; cin>>n; //cin>>name[0]>>num[0]>>score[0]; //cout<<name[0]<<num[0]<<score[0];原创 2016-03-27 20:31:52 · 307 阅读 · 0 评论 -
1005. 继续(3n+1)猜想 (25)
#include#include using namespace std;bool compare(int a,int b){ return a>b;}int main(){ int k,a[110],flag[110]={0}; int i,j,x,tmp[110]; cin>>k; for(i=0;i<k;i++){ cin>>a[i]; } for(i=0;i原创 2016-03-27 20:37:25 · 277 阅读 · 0 评论 -
1001. 害死人不偿命的(3n+1)猜想 (15)
#includeusing namespace std;int main(){int n,count=0;cin>>n;while(n!=1){if(n%2==0){n=n/2;}else{n=(n*3+1)/2;}count++;}cout//system("pause");return 0;}原创 2016-03-27 19:34:18 · 247 阅读 · 0 评论 -
1054. 求平均值 (20)
点击打开链接本题的基本要求非常简单:给定N个实数,计算它们的平均值。但复杂的是有些输入数据可能是非法的。一个“合法”的输入是[-1000,1000]区间内的实数,并且最多精确到小数点后2位。当你计算平均值的时候,不能把那些非法的数据算在内。输入格式:输入第一行给出正整数N(输出格式:对每个非法输入,在一行中输出“ERROR: X is not a leg原创 2016-03-27 22:15:15 · 2085 阅读 · 5 评论 -
1052. 卖个萌 (20)
1052.卖个萌萌萌哒表情符号通常由“手”、“眼”、“口”三个主要部分组成。简单起见,我们假设一个表情符号是按下列格式输出的:[左手]([左眼][口][右眼])[右手]现给出可选用的符号集合,请你按用户的要求输出表情。输入格式:输入首先在前三行顺序对应给出手、眼、口的可选符号集。每个符号括在一对方括号[]内。题目保证每个集合都至少有一个符号,并不超过10个符号;原创 2016-03-28 11:34:15 · 1672 阅读 · 1 评论 -
1006. 换个格式输出整数 (15)
1006.换个格式输出整数让我们用字母B来表示“百”、字母S表示“十”,用“12...n”来表示个位数字n(输入格式:每个测试输入包含1个测试用例,给出正整数n(输出格式:每个测试用例的输出占一行,用规定的格式输出n。输入样例1:234输出样例1:BBSSS1234输入样例2:23输出样例2:SS123#includeusi原创 2016-03-28 15:57:26 · 330 阅读 · 0 评论 -
1007. 素数对猜想 (20)
让我们定义 dn 为:dn = pn+1 - pn,其中 pi 是第i个素数。显然有 d1=1 且对于n>1有 dn 是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。现给定任意正整数N (输入格式:每个测试输入包含1个测试用例,给出正整数N。输出格式:每个测试用例的输出占一行,不超过N的满足猜想的素数对的个数。输入样例:20输出样例:4原创 2016-03-28 16:01:18 · 317 阅读 · 0 评论 -
1008. 数组元素循环右移问题 (20)
1008.数组元素循环右移问题一个数组A中存有N(N>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(M>=0)个位置,即将A中的数据由(A0A1……AN-1)变换为(AN-M …… AN-1 A0 A1……AN-M-1)(最后M个数循环移至最前面的M个位置)。如果需要考虑程序移动数据的次数尽量少,要如何设计移动的方法?输入格式:每个输入包含一个测试用例,原创 2016-03-28 16:05:01 · 236 阅读 · 0 评论 -
1009. 说反话 (20)
1009.说反话给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过80的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用1个空格分开,输入保证句子末尾没有多余的空格。输出格式:每个测试用例的输出占一行,输出倒序后的句子。输入样例:Hello Wo原创 2016-03-28 16:10:37 · 587 阅读 · 0 评论 -
1050. 螺旋矩阵(25)
本题要求将给定的N个正整数按非递增的顺序,填入“螺旋矩阵”。所谓“螺旋矩阵”,是指从左上角第1个格子开始,按顺时针螺旋方向填充。要求矩阵的规模为m行n列,满足条件:m*n等于N;m>=n;且m-n取所有可能值中的最小值。输入格式:输入在第1行中给出一个正整数N,第2行给出N个待填充的正整数。所有数字不超过104,相邻数字以空格分隔。输出格式:输出螺旋矩阵。每行n个数原创 2016-04-07 20:46:41 · 454 阅读 · 0 评论 -
1035. 插入与归并(25)
根据维基百科的定义:插入排序是迭代算法,逐一获得输入数据,逐步产生有序的输出序列。每步迭代中,算法从输入序列中取出一元素,将之插入有序序列中正确的位置。如此迭代直到全部元素有序。归并排序进行如下迭代操作:首先将原始序列看成N个只包含1个元素的有序子序列,然后每次迭代归并两个相邻的有序子序列,直到最后只剩下1个有序的序列。现给定原始序列和由某排序算法产生的中间序列,请你判断该原创 2016-04-07 11:44:17 · 449 阅读 · 0 评论 -
1012. 数字分类 (20)
给定一系列正整数,请按要求对数字进行分类,并输出以下5个数字:A1 = 能被5整除的数字中所有偶数的和;A2 = 将被5除后余1的数字按给出顺序进行交错求和,即计算n1-n2+n3-n4...;A3 = 被5除后余2的数字的个数;A4 = 被5除后余3的数字的平均数,精确到小数点后1位;A5 = 被5除后余4的数字中最大数字。输入格式:每个输入包含1个测试用例。原创 2016-03-29 22:53:33 · 197 阅读 · 0 评论 -
1013. 数素数 (20)
令Pi表示第i个素数。现任给两个正整数M 4,请输出PM到PN的所有素数。输入格式:输入在一行中给出M和N,其间以空格分隔。输出格式:输出从PM到PN的所有素数,每10个数字占1行,其间以空格分隔,但行末不得有多余空格。输入样例:5 27输出样例:11 13 17 19 23 29 31 37 41 4347 53 59 61 67 71 73原创 2016-03-29 22:57:01 · 252 阅读 · 0 评论 -
1014. 福尔摩斯的约会 (20)
大侦探福尔摩斯接到一张奇怪的字条:“我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm”。大侦探很快就明白了,字条上奇怪的乱码实际上就是约会的时间“星期四 14:04”,因为前面两字符串中第1对相同的大写英文字母(大小写有区分)是第4个字母'D',代表星期四;第2对相同的字符是'E',那是第5个英文字母,代表一天里的第14个钟头原创 2016-03-29 22:58:20 · 230 阅读 · 0 评论 -
1016. 部分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 10。输出格式:在一行中输出PA + PB的值。输入样例1原创 2016-03-30 23:01:30 · 203 阅读 · 0 评论 -
1015. 德才论 (25)
宋代史学家司马光在《资治通鉴》中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人。凡取人之术,苟不得圣人,君子而与之,与其得小人,不若得愚人。”现给出一批考生的德才分数,请根据司马光的理论给出录取排名。输入格式:输入第1行给出3个正整数,分别为:N(5),即考生总数;L(>=60),为录取最低分数线,即德分和才分均不低于L的考原创 2016-03-30 22:56:59 · 378 阅读 · 0 评论 -
1017. A除以B (20)
本题要求计算A/B,其中A是不超过1000位的正整数,B是1位正整数。你需要输出商数Q和余数R,使得A = B * Q + R成立。输入格式:输入在1行中依次给出A和B,中间以1空格分隔。输出格式:在1行中依次输出Q和R,中间以1空格分隔。输入样例:123456789050987654321 7输出样例:17636684150141093474原创 2016-03-30 23:06:13 · 214 阅读 · 0 评论 -
1053. 住房空置率 (20)
在不打扰居民的前提下,统计住房空置率的一种方法是根据每户用电量的连续变化规律进行判断。判断方法如下:在观察期内,若存在超过一半的日子用电量低于某给定的阈值e,则该住房为“可能空置”;若观察期超过某给定阈值D天,且满足上一个条件,则该住房为“空置”。现给定某居民区的住户用电量数据,请你统计“可能空置”的比率和“空置”比率,即以上两种状态的住房占居民区住房总套数的百分比。输入格原创 2016-04-01 09:11:10 · 491 阅读 · 0 评论 -
1051. 复数乘法 (15)
复数可以写成(A + Bi)的常规形式,其中A是实部,B是虚部,i是虚数单位,满足i2 = -1;也可以写成极坐标下的指数形式(R*e(Pi)),其中R是复数模,P是辐角,i是虚数单位,其等价于三角形式(R(cos(P) + isin(P))。现给定两个复数的R和P,要求输出两数乘积的常规形式。输入格式:输入在一行中依次给出两个复数的R1, P1, R2, P2,数字间以空原创 2016-04-04 11:15:08 · 2497 阅读 · 2 评论 -
1055. 集体照 (25)
拍集体照时队形很重要,这里对给定的N个人K排的队形设计排队规则如下:每排人数为N/K(向下取整),多出来的人全部站在最后一排;后排所有人的个子都不比前排任何人矮;每排中最高者站中间(中间位置为m/2+1,其中m为该排人数,除法向下取整);每排其他人以中间人为轴,按身高非增序,先右后左交替入队站在中间人的两侧(例如5人身高为190、188、186、175、170,则队形为175、原创 2016-04-06 12:51:01 · 2087 阅读 · 1 评论 -
1045. 快速排序(25)
著名的快速排序算法里有一个经典的划分过程:我们通常采用某种方法取一个元素作为主元,通过交换,把比主元小的元素放到它的左边,比主元大的元素放到它的右边。 给定划分后的N个互不相同的正整数的排列,请问有多少个元素可能是划分前选取的主元?例如给定N = 5, 排列是1、3、2、4、5。则:1的左边没有元素,右边的元素都比它大,所以它可能是主元;尽管3的左边元素都比它小,但是它右边的2原创 2016-04-06 21:21:27 · 222 阅读 · 0 评论 -
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) 这10个片段。给定正整数数列,求出全部片段包含原创 2016-04-06 22:18:46 · 208 阅读 · 0 评论 -
1010. 一元多项式求导 (25)
1010.一元多项式求导设计函数求一元多项式的导数。(注:xn(n为整数)的一阶导数为n*xn-1。)输入格式:以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。输出格式:以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。注意“零多项式”的指数和系数都是0,但是表示为“0 0”。输入样原创 2016-03-28 16:23:28 · 278 阅读 · 0 评论