PTA团队天梯赛║L1-019 谁先倒
PTA 团队天梯赛║L1-019 谁先倒一、题目要求划拳是古老中国酒文化的一个有趣的组成部分。酒桌上两人划拳的方法为:每人口中喊出一个数字,同时用手比划出一个数字。如果谁比划出的数字正好等于两人喊出的数字之和,谁就输了,输家罚一杯酒。两人同赢或两人同输则继续下一轮,直到唯一的赢家出现。
下面给出甲、乙两人的酒量(最多能喝多少杯不倒)和划拳记录,请你判断两个人谁先倒。
输入格式:输入第一行先后给出甲、乙两人的酒量(不超过 100 的非负整数),以空格分隔。下一行给出一个正整数N(≤100),随后N行,每行给出一轮划拳的记录,格式为:
1甲喊 甲划 乙喊 乙划
其中喊是喊出的数字,划是划出的数字,均为不超过 100 的正整数(两只手一起划)。
输出格式:在第一行中输出先倒下的那个人:A代表甲,B代表乙。第二行中输出没倒的那个人喝了多少杯。题目保证有一个人倒下。注意程序处理到有人倒下就终止,后面的数据不必处理。
输入样例:123456781 168 10 9 125 10 5 103 8 5 1212 18 1 134 16 12 1515 1 1 16
输出样例:12A1
二、解题思 ...
PTA团队天梯赛║L1-017 到底有多二
PTA 团队天梯赛║L1-017 到底有多二一、题目要求一个整数“犯二的程度”定义为该数字中包含 2 的个数与其位数的比值。如果这个数是负数,则程度增加 0.5 倍;如果还是个偶数,则再增加 1 倍。例如数字-13142223336是个 11 位数,其中有 3 个 2,并且是负数,也是偶数,则它的犯二程度计算为:3/11×1.5×2×100%,约为 81.82%。本题就请你计算一个给定整数到底有多二。
输入格式:输入第一行给出一个不超过 50 位的整数N。
输出格式:在一行中输出N犯二的程度,保留小数点后两位。
输入样例:1-13142223336
输出样例:181.82%
二、解题思路设置两个倍数标志 fu 和 ou 初始值均为 1 ,用字符串存储输入的整数,先判断第一位是否为 ’-‘ ,若是负数,更新 fu 为 1.5 ,并在计算字符串长度时减一,然后判断该整数是否为偶数,若是,更新 ou 为 2 。然后遍历字符串计数 ’2‘ 的个数,根据题目要求计算得出结果,结果输出保留两位小数。
三、代码1234567891011121314151617181920212223242526 ...
PTA团队天梯赛║L1-015 跟奥巴马一起画方块
PTA 团队天梯赛║L1-015 跟奥巴马一起画方块一、题目要求美国总统奥巴马不仅呼吁所有人都学习编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的总统。2014 年底,为庆祝“计算机科学教育周”正式启动,奥巴马编写了很简单的计算机代码:在屏幕上画一个正方形。现在你也跟他一起画吧!
输入格式:输入在一行中给出正方形边长N(3≤N≤21)和组成正方形边的某种字符C,间隔一个空格。
输出格式:输出由给定字符C画出的正方形。但是注意到行间距比列间距大,所以为了让结果看上去更像正方形,我们输出的行数实际上是列数的 50%(四舍五入取整)。
输入样例:110 a
输出样例:12345aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
二、解题思路题目关键在于控制输出,因为是整数除以 2,所以四舍五入利用偶数直接除以,奇数将除以结果加一实现,然后用两层循环输出,内循环输出一行内所有字符,外循环输出空行保证有字符的行数是列数的 50%。
三、代码1234567891011121314151617181920212223242526#i ...
PTA团队天梯赛║L1-011 A-B
PTA 团队天梯赛║L1-011 A-B一、题目要求本题要求你计算 A−B 。不过麻烦的是,A和B都是字符串 —— 即从字符串A中把字符串B所包含的字符全删掉,剩下的字符组成的就是字符串 A−B 。
输入格式:输入在 2 行中先后给出字符串A和B。两字符串的长度都不超过 104,并且保证每个字符串都是由可见的 ASCII 码和空白字符组成,最后以换行符结束。
输出格式:在一行中打印出A−B的结果字符串。
输入样例:12I love GPLT! It's a fun game!aeiou
输出样例:1I lv GPLT! It's fn gm!
二、解题思路设置一个 flag,暴力循环比较 a 字符串的每一个字符是否与 b 字符串中的字符相同,如果发现相同,flag 更新为 false,最后用 if(flag) 控制输出 a 字符串
三、代码123456789101112131415161718192021222324252627282930313233#include <iostream>#include <cstring>usin ...
PTA团队天梯赛║L1-009 N个数求和
一、题目要求本题的要求很简单,就是求N个数字的和。麻烦的是,这些数字是以有理数分子/分母的形式给出的,你输出的和也必须是有理数的形式。
输入格式:输入第一行给出一个正整数N(≤100)。随后一行按格式a1/b1 a2/b2 ...给出N个有理数。题目保证所有分子和分母都在长整型范围内。另外,负数的符号一定出现在分子前面。
输出格式:输出上述数字和的最简形式 —— 即将结果写成整数部分 分数部分,其中分数部分写成分子/分母,要求分子小于分母,且它们没有公因子。如果结果的整数部分为 0,则只输出分数部分。
输入样例 1:1252/5 4/15 1/30 -2/60 8/3
输出样例 1:13 1/3
输入样例 2:1224/3 2/3
输出样例 2:12
输入样例 3:1231/3 -1/6 1/8
输出样例 3:17/24
二、解题思路分数的和问题归根结底是通分时求最小公倍数和最大公因数的问题,将分子和分母分开进行运算,先求出所有分母的最小公倍数作为通分后的分母,然后求出通分后的分子之和,最后化简即可
三、代码123456789101112131415161718192021 ...
PTA团队天梯赛║L1-008 求整数段和
PTA 团队天梯赛║L1-008 求整数段和一、题目要求
给定两个整数A和B,输出从A到B的所有整数以及这些数的和。
输入格式:输入在一行中给出 2 个整数A和B,其中−100≤A≤B≤100,其间以空格分隔。
输出格式:首先顺序输出从A到B的所有整数,每 5 个数字占一行,每个数字占 5 个字符宽度,向右对齐。最后在一行中按Sum = X的格式输出全部数字的和X。
输入样例:1-3 8
输出样例:1234 -3 -2 -1 0 1 2 3 4 5 6 7 8Sum = 30
二、解题思路用循环打出两个数之间的所有整数较为简单,需要注意的是要按照题目要求控制打印的格式,可以使用 C 语言风格的 printf() 式样化规定字符较为方便控制输出。
可以在“%”和字母之间插进数字表示最大场宽 。
例如:%3d 表示输出 3 位整型数,不够 3 位右对齐。
%9.2f 表示输出场宽为 9 的浮点数,其中小数位为 2,整数位为 6,
小数点占一位,不够 9 位右对齐。
之后五个数字一换行,利用对 5 取余的办法控制。
...
PTA团队天梯赛║L1-007 念数字
PTA 团队天梯赛║L1-007 念数字一、题目要求
输入一个整数,输出每个数字对应的拼音。当整数为负数时,先输出fu字。十个数字对应的拼音如下:
0: ling 1: yi 2: er 3: san 4: si 5: wu 6:liu 7:qi 8: ba 9: jiu
输入格式:输入在一行中给出一个整数,如:1234。
提示:整数包括负数、零和正数。
输出格式:在一行中输出这个整数对应的拼音,每个数字的拼音之间用空格分开,行末没有最后的空格。如 yi er san si。
输入样例:1-600
输出样例:1fu liu ling ling
二、解题思路用户输入 string 类型数据,然后存放至 char 数组中,用 switch 判断输出相应位置的拼音
三、代码12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061#include <iostre ...
PTA团队天梯赛║L1-006 连续因子
PTA 团队天梯赛║L1-006 连续因子一、题目要求
一个正整数 N 的因子中可能存在若干连续的数字。例如 630 可以分解为 3×5×6×7,其中 5、6、7 就是 3 个连续的数字。给定任一正整数 N,要求编写程序求出最长连续因子的个数,并输出最小的连续因子序列。
输入格式:输入在一行中给出一个正整数 N(1<N<231)。
输出格式:首先在第 1 行输出最长连续因子的个数;然后在第 2 行中按 因子 1*因子 2*……*因子 k 的格式输出最小的连续因子序列,其中因子按递增顺序输出,1 不算在内。
输入样例:1630
输出样例:1235*6*7
二、解题思路根据 N 的值的取值范围小于等于 231,而这个值介于 12 的阶乘到 13 的阶乘之间,所以我们可以得到最大的值应该是 12 个数连续相乘,又因为 1 不计算在内,所以最多只要有 11 为连续因子即可。
用暴力的思想,我从 2、3、4…sqrt(N) 开始乘,连着乘以 11 位,10 位,9 位…以此类推。
即连续乘 11 位:
2 3 4 5 6 7 8 9 10 11 12 相乘
3 4 5 6 7 ...
PTA团队天梯赛║L1-005 考试座位号
PTA 团队天梯赛║L1-005 考试座位号一、题目要求
每个 PAT 考生在参加考试时都会被分配两个座位号,一个是试机座位,一个是考试座位。正常情况下,考生在入场时先得到试机座位号码,入座进入试机状态后,系统会显示该考生的考试座位号码,考试时考生需要换到考试座位就座。但有些考生迟到了,试机已经结束,他们只能拿着领到的试机座位号码求助于你,从后台查出他们的考试座位号码。
输入格式:输入第一行给出一个正整数 N(≤1000),随后 N 行,每行给出一个考生的信息:准考证号 试机座位号 考试座位号。其中准考证号由 16 位数字组成,座位从 1 到 N 编号。输入保证每个人的准考证号都不同,并且任何时候都不会把两个人分配到同一个座位上。
考生信息之后,给出一个正整数 M(≤N),随后一行中给出 M 个待查询的试机座位号码,以空格分隔。
输出格式:对应每个需要查询的试机座位号码,在一行中输出对应考生的准考证号和考试座位号码,中间用 1 个空格分隔。
输入样例:123456743310120150912233 2 43310120150912119 4 13310120150912126 1 ...
PTA团队天梯赛║L1-004 计算摄氏温度
PTA 团队天梯赛║L1-004 计算摄氏温度一、题目要求
给定一个华氏温度F,本题要求编写程序,计算对应的摄氏温度C。计算公式:C=5×(F−32)/9。题目保证输入与输出均在整型范围内。
输入格式:输入在一行中给出一个华氏温度。
输出格式:在一行中按照格式“Celsius = C”输出对应的摄氏温度 C 的整数值。
输入样例:1150
输出样例:1Celsius = 65
二、解题思路该题为最简单的根据公式数制转换,注意题目要求 保证输入与输出均在整型范围内。
三、代码1234567891011121314#include <iostream>#include <cstring>using namespace std;int main(){ int f,c; cin >> f; c = 5*(f-32)/9; cout << "Celsius = " << c << endl; return 0;}
四、反思总结题目有一些简单了,注意 ...