
PTA乙级
主要是平时PTA乙级的一些题目
worldinme
这个作者很懒,什么都没留下…
展开
-
pta乙级1088 三人行(AC)(注意检测点4)
子曰:“三人行,必有我师焉。择其善者而从之,其不善者而改之。”本题给定甲、乙、丙三个人的能力值关系为:甲的能力值确定是 2 位正整数;把甲的能力值的 2 个数字调换位置就是乙的能力值;甲乙两人能力差是丙的能力值的 X 倍;乙的能力值是丙的 Y 倍。请你指出谁比你强应“从之”,谁比你弱应“改之”。输入格式:输入在一行中给出三个数,依次为:M(你自己的能力值)、X 和 Y。三个数字均为不超过 1000 的正整数。输出格式:在一行中首先输出甲的能力值,随后依次输出甲、乙、丙三人与你的关系:如.原创 2021-11-19 14:52:12 · 122 阅读 · 0 评论 -
pta乙级1083 是否存在相等的差(AC)
给定 N 张卡片,正面分别写上 1、2、……、N,然后全部翻面,洗牌,在背面分别写上 1、2、……、N。将每张牌的正反两面数字相减(大减小),得到 N 个非负差值,其中是否存在相等的差?输入格式:输入第一行给出一个正整数 N(2≤N≤10 000),随后一行给出 1 到 N 的一个洗牌后的排列,第 i 个数表示正面写了 i 的那张卡片背面的数字。输出格式:按照“差值 重复次数”的格式从大到小输出重复的差值及其重复的次数,每行输出一个结果。输入样例:83 5 8 6 2 ...原创 2021-10-31 19:39:24 · 91 阅读 · 0 评论 -
pta乙级1015 德才论(AC)
宋代史学家司马光在《资治通鉴》中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人。凡取人之术,苟不得圣人,君子而与之,与其得小人,不若得愚人。”现给出一批考生的德才分数,请根据司马光的理论给出录取排名。输入格式:输入第一行给出 3 个正整数,分别为:N(≤105),即考生总数;L(≥60),为录取最低分数线,即德分和才分均不低于L的考生才有资格被考虑录取;H(<100),为优先录取线——德分和才分均不低于此线的被定义为“才德全尽”,此类...原创 2021-10-25 19:06:50 · 223 阅读 · 2 评论 -
pta乙级1001害死人不偿命的(3n+1)猜想(c语言)
水题。略。附c语言代码:#include<stdio.h>int main(){ int s,n; int function(int n); scanf("%d",&n); s=function(n); printf("%d",s);}int function(int n){ int p=0; while(n>1) { if(n%2==0) { ...原创 2021-10-09 11:27:47 · 161 阅读 · 0 评论 -
pta乙级1024科学计数法(检测点5段错误,有没有大佬帮帮忙)
思路:1.先看最前面的正负号。2.找到E。3.根据E后面跟着的符号进行分类,主要判断小数点往哪移动,或者是否需要补小数点。4.如果是负号,则必然要补0和小数点; 反之,如果是正号,则要判断需要移动的小数点位数是否大于后面的长度(用来判断是否需要小数点)移动的时候利用数组逐项移动,若要去除最后一个多余的,未被覆盖的数,用pop.back()即可。#include<bits/stdc++.h>using namespace std;int main(){ st...原创 2021-10-09 11:15:14 · 400 阅读 · 0 评论 -
pta乙级1025 反转链表(AC)(检测点6有坑)
这道题犹豫了很久,一直没做,今天终于做完了。思路:1.将数字存入origin。2.首先先把题目给的数组按照正确的顺序排好,放入final。3.按要求反转链表。#include<bits/stdc++.h>using namespace std;typedef struct{ int address; int data; int next;}node;node origin[100001],final[100001];int main(){ in...原创 2021-10-14 17:21:55 · 301 阅读 · 0 评论 -
pta乙级1031查验身份证(AC)
思路:1.把18位的身份证分成18个字符2.先判断前17位是否全为数字,若不是,直接输出这些字符;若是,直接计算出他们加权的结果,得出Z,与M比较。#include<bits/stdc++.h>using namespace std;int main(){ char a[20]; int n=0,z=0,num=0,judge=0,flag=0; int b[17]={7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2}; cin>>n原创 2021-10-10 13:31:06 · 244 阅读 · 0 评论 -
pta乙级1037在霍格沃兹找零钱(AC)
思路:1.输入6个数字分别代表钱币2.从西可开始比较,如果要付的比实际付的多,向前面借位,but!!!此处要注意,如果纳特为0,借位之后变成-1是不可以的,所以这种情况还要继续向加隆借位。如果加隆减完之后为负数,就直接输出。注意:此处加隆可以是10的7次方,建议用long long int#include<bits/stdc++.h>using namespace std;int main(){ long long int a=0,b=0,c=0,d=0,e=0...原创 2021-10-10 21:30:37 · 301 阅读 · 0 评论 -
pta乙级1038 统计同成绩学生(AC)
思路:1.题目要求输入学生人数、成绩、要查询的成绩个数和成绩。最后要输出分数为查询成绩的人数。2.用两层循环即可,水题。超时了。。。。(拿了14分)也是,我这样写时间复杂度是n^2。没事没事,小问题,改一下算法。在最初输入的时候就进行个数的统计就行了。这样就可以降成线性的时间复杂度。#include<bits/stdc++.h>using namespace std;int main(){ int total=0,score[100001]...原创 2021-10-13 19:59:38 · 127 阅读 · 0 评论 -
pta乙级1041考试座位号(AC)
思路:水题。不用写思路。#include<bits/stdc++.h>using namespace std;int main(){ int n,m; long long int shen[1001]={0}; int a[1001]={0},b[1001]={0},c[1001]={0}; cin>>n; for(int i=0;i<n;i++) cin>>shen[i]>>a[i]>>b[i]; c...原创 2021-10-11 21:07:05 · 115 阅读 · 0 评论 -
pta乙级1047 编程团体赛(AC)
思路:水题,与先前统计同成绩学生思路大同小异。略。#include<bits/stdc++.h>using namespace std;int c[1001];int main(){ int a[100001],b[100001]; int n,m,max=1; char ch; cin>>n; for(int i=1;i<=n;i++) { cin>>a[i]>>ch>>b[i]>>m;...原创 2021-10-14 08:17:02 · 134 阅读 · 0 评论 -
pta乙级1049 数列的片段和(AC)
思路:直接考虑每个数被计算到的次数,乘上数本身,直接计算,而不按照题目所给的数组和方式计算。#include<bits/stdc++.h>using namespace std;int main(){ long int n; float a[300001]; double total,sum=0; cin>>n; for(int i=1;i<=n;i++) { cin>>a[i]; } for(int i=1;i&...原创 2021-10-16 07:23:03 · 208 阅读 · 0 评论 -
pta乙级1051 复数乘法(AC)
思路:应该是直接按照复数乘除法输入就好了。#include<bits/stdc++.h>using namespace std;int main(){ double r1,p1,r2,p2; cin>>r1>>p1>>r2>>p2; double a,b; a=r1*r2*cos(p1)*cos(p2)-r1*r2*sin(p1)*sin(p2); b=r1*r2*cos(p1)*sin(p2)+r1*r2*co...原创 2021-10-18 19:43:14 · 134 阅读 · 0 评论 -
pta乙级1053 住房空置率(AC)
思路:1.先按要求输入住户数,然后输入用电量阈值和观察期阈值。2.先输入观察天数,如果未达阈值天数超过一半,可能空置数++,并且如果观察天数大于观察天数阈值,则空置天数++。这题的思路应该还是很常规的。#include<bits/stdc++.h>using namespace std;int m;double l[1005];int main(){ int n,d,real=0,possible=0; double e,total; cin>&g...原创 2021-10-19 21:19:02 · 144 阅读 · 0 评论 -
pta乙级1056 组合数的和(AC)
思路:水题,不用思路。#include<bits/stdc++.h>using namespace std;int a[101];int main() { int n, sum=0; int b[11]; cin >> n; for (int i = 1;i <= n;i++) { cin >> b[i]; } for (int i = 1;i <= n;i++) { for (int j = 1;j <= ...原创 2021-10-16 16:13:27 · 94 阅读 · 0 评论 -
pta乙级1057 数零壹(AC)
1057 数零壹 (20 分)给定一串长度不超过105的字符串,本题要求你将其中所有英文字母的序号(字母 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。输入格式:输入在一行中给出长度不超过105、以回车结束的字符串。输出格式:在一行中先后输出 ...原创 2021-10-21 17:31:33 · 114 阅读 · 0 评论 -
pta乙级1066 图像过滤(AC)
思路:水题,不需要思路。#include<bits/stdc++.h>using namespace std;int a[505][505];int main(){ int m,n,a1,a2,c,flag=0; cin>>m>>n>>a1>>a2>>c; for(int j=1;j<=m;j++) { for(int i=1;i<=n;i++) cin>>a[i][j];...原创 2021-10-15 18:59:36 · 163 阅读 · 0 评论 -
pta乙级1076 Wifi密码(AC)
下面是微博上流传的一张照片:“各位亲爱的同学们,鉴于大家有时需要使用 wifi,又怕耽误亲们的学习,现将 wifi 密码设置为下列数学题答案:A-1;B-2;C-3;D-4;请同学们自己作答,每两日一换。谢谢合作!!~”—— 老师们为了促进学生学习也是拼了…… 本题就要求你写程序把一系列题目的答案按照卷子上给出的对应关系翻译成 wifi 的密码。这里简单假设每道选择题都有 4 个选项,有且只有 1 个正确答案。输入格式:输入第一行给出一个正整数 N(≤100),随后 N 行,每行按照编号-...原创 2021-10-23 10:30:18 · 210 阅读 · 0 评论 -
pta乙级1092最好吃的月饼(AC)
思路:水题,不用思路。#include<bits/stdc++.h>using namespace std;int amount[5000][5000],num[5000];int main(){ int n,m,max=0,flag=0; cin>>n>>m; for(int i=0;i<m;i++) { for(int j=0;j<n;j++) { cin>>amount[j][i]; ...原创 2021-10-12 18:49:52 · 136 阅读 · 0 评论