PTA PAT乙级真题,95题(C++,AC代码)
Posted 小哈里
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PTA PAT乙级真题,95题(C++,AC代码)相关的知识,希望对你有一定的参考价值。
PAT乙级真题95题
标号 | 标题 | 分数 | 通过数 | 提交数 | 通过率 | |
---|---|---|---|---|---|---|
1001 | 害死人不偿命的(3n+1)猜想 | 15 | 109558 | 309119 | 0.35 | |
1002 | 写出这个数 | 20 | 71739 | 281563 | 0.25 | |
1003 | 我要通过! | 20 | 37436 | 158623 | 0.24 | |
1004 | 成绩排名 | 20 | 52430 | 165974 | 0.32 | |
1005 | 继续(3n+1)猜想 | 25 | 35524 | 137088 | 0.26 | |
1006 | 换个格式输出整数 | 15 | 45779 | 91594 | 0.50 | |
1007 | 素数对猜想 | 20 | 38257 | 157587 | 0.24 | |
1008 | 数组元素循环右移问题 | 20 | 42257 | 131568 | 0.32 | |
1009 | 说反话 | 20 | 47257 | 135398 | 0.35 | |
1010 | 一元多项式求导 | 25 | 35985 | 166752 | 0.22 | |
1011 | A+B 和 C | 15 | 47085 | 156354 | 0.30 | |
1012 | 数字分类 | 20 | 31086 | 139979 | 0.22 | |
1013 | 数素数 | 20 | 32602 | 155466 | 0.21 | |
1014 | 福尔摩斯的约会 | 20 | 25433 | 157374 | 0.16 | |
1015 | 德才论 | 25 | 22260 | 103459 | 0.22 | |
1016 | 部分A+B | 15 | 35450 | 71877 | 0.49 | |
1017 | A除以B | 20 | 24201 | 84649 | 0.29 | |
1018 | 锤子剪刀布 | 20 | 24286 | 89191 | 0.27 | |
1019 | 数字黑洞 | 20 | 23712 | 99079 | 0.24 | |
1020 | 月饼 | 25 | 24137 | 90867 | 0.27 | |
1021 | 个位数统计 | 15 | 27922 | 65180 | 0.43 | |
1022 | D进制的A+B | 20 | 28782 | 81141 | 0.35 | |
1023 | 组个最小数 | 20 | 26597 | 54475 | 0.49 | |
1024 | 科学计数法 | 20 | 16829 | 63348 | 0.27 | |
1025 | 反转链表 | 25 | 12802 | 64853 | 0.20 | |
1026 | 程序运行时间 | 15 | 26858 | 74356 | 0.36 | |
1027 | 打印沙漏 | 20 | 20149 | 61811 | 0.33 | |
1028 | 人口普查 | 20 | 18830 | 97896 | 0.19 | |
1029 | 旧键盘 | 20 | 19039 | 54501 | 0.35 | |
1030 | 完美数列 | 25 | 18320 | 105952 | 0.17 | |
1031 | 查验身份证 | 15 | 21205 | 71594 | 0.30 | |
1032 | 挖掘机技术哪家强 | 20 | 30320 | 110871 | 0.27 | |
1033 | 旧键盘打字 | 20 | 16789 | 92861 | 0.18 | |
1034 | 有理数四则运算 | 20 | 10576 | 42422 | 0.25 | |
1035 | 插入与归并 | 25 | 9003 | 32043 | 0.28 | |
1036 | 跟奥巴马一起编程 | 15 | 26116 | 61782 | 0.42 | |
1037 | 在霍格沃茨找零钱 | 20 | 16929 | 35956 | 0.47 | |
1038 | 统计同成绩学生 | 20 | 16690 | 57085 | 0.29 | |
1039 | 到底买不买 | 20 | 15806 | 35769 | 0.44 | |
1040 | 有几个PAT | 25 | 14477 | 53446 | 0.27 | |
1041 | 考试座位号 | 15 | 20440 | 43061 | 0.47 | |
1042 | 字符统计 | 20 | 16762 | 40268 | 0.42 | |
1043 | 输出PATest | 20 | 15862 | 29332 | 0.54 | |
1044 | 火星数字 | 20 | 11421 | 44214 | 0.26 | |
1045 | 快速排序 | 25 | 11554 | 62632 | 0.18 | |
1046 | 划拳 | 15 | 20960 | 37751 | 0.56 | |
1047 | 编程团体赛 | 20 | 14519 | 25092 | 0.58 | |
1048 | 数字加密 | 20 | 13900 | 60994 | 0.23 | |
1049 | 数列的片段和 | 20 | 12190 | 58603 | 0.21 | |
1050 | 螺旋矩阵 | 25 | 8503 | 36227 | 0.23 | |
1051 | 复数乘法 | 15 | 10987 | 45635 | 0.24 | |
1052 | 卖个萌 | 20 | 8348 | 32124 | 0.26 | |
1053 | 住房空置率 | 20 | 9566 | 29740 | 0.32 | |
1054 | 求平均值 | 20 | 9621 | 41349 | 0.23 | |
1055 | 集体照 | 25 | 7208 | 21083 | 0.34 | |
1056 | 组合数的和 | 15 | 13031 | 20330 | 0.64 | |
1057 | 数零壹 | 20 | 9869 | 26326 | 0.37 | |
1058 | 选择题 | 20 | 7314 | 21049 | 0.35 | |
1059 | C语言竞赛 | 20 | 8562 | 30613 | 0.28 | |
1060 | 爱丁顿数 | 25 | 8906 | 42385 | 0.21 | |
1061 | 判断题 | 15 | 12194 | 20818 | 0.59 | |
1062 | 最简分数 | 20 | 8089 | 38722 | 0.21 | |
1063 | 计算谱半径 | 20 | 8812 | 15100 | 0.58 | |
1064 | 朋友数 | 20 | 9903 | 22199 | 0.45 | |
1065 | 单身狗 | 25 | 9010 | 35257 | 0.26 | |
1066 | 图像过滤 | 15 | 10482 | 29538 | 0.35 | |
1067 | 试密码 | 20 | 9650 | 51316 | 0.19 | |
1068 | 万绿丛中一点红 | 20 | 6399 | 31971 | 0.20 | |
1069 | 微博转发抽奖 | 20 | 8149 | 24970 | 0.33 | |
1070 | 结绳 | 25 | 8102 | 18523 | 0.44 | |
1071 | 小赌怡情 | 15 | 9866 | 33427 | 0.30 | |
1072 | 开学寄语 | 20 | 8140 | 22461 | 0.36 | |
1073 | 多选题常见计分法 | 20 | 4868 | 13095 | 0.37 | |
1074 | 宇宙无敌加法器 | 20 | 6160 | 27633 | 0.22 | |
1075 | 链表元素分类 | 25 | 5060 | 17773 | 0.28 | |
1076 | Wifi密码 | 15 | 12424 | 25033 | 0.50 | |
1077 | 互评成绩计算 | 20 | 8397 | 19986 | 0.42 | |
1078 | 字符串压缩与解压 | 20 | 7723 | 23750 | 0.33 | |
1079 | 延迟的回文数 | 20 | 6654 | 22387 | 0.30 | |
1080 | MOOC期终成绩 | 25 | 6550 | 24097 | 0.27 | |
1081 | 检查密码 | 15 | 10744 | 43020 | 0.25 | |
1082 | 射击比赛 | 20 | 9013 | 20334 | 0.44 | |
1083 | 是否存在相等的差 | 20 | 8804 | 21919 | 0.40 | |
1084 | 外观数列 | 20 | 7137 | 17393 | 0.41 | |
1085 | PAT单位排行 | 25 | 6512 | 29972 | 0.22 | |
1086 | 就不告诉你 | 15 | 12075 | 38439 | 0.31 | |
1087 | 有多少不同的值 | 20 | 10210 | 21345 | 0.48 | |
1088 | 三人行 | 20 | 8082 | 36047 | 0.22 | |
1089 | 狼人杀-简单版 | 20 | 5719 | 12164 | 0.47 | |
1090 | 危险品装箱 | 25 | 7491 | 23549 | 0.32 | |
1091 | N-自守数 | 15 | 10640 | 25329 | 0.42 | |
1092 | 最好吃的月饼 | 20 | 8536 | 24122 | 0.35 | |
1093 | 字符串A+B | 20 | 10739 | 26159 | 0.41 | |
1094 | 谷歌的招聘 | 20 | 9544 | 43652 | 0.22 | |
1095 | 解码PAT准考证 | 25 | 6117 | 32090 | 0.19 |
1001
#include<iostream>
using namespace std;
int main(){
int n; cin>>n;
int cnt = 0;
while(n != 1){
if(n%2==0)n = n/2;
else n = (3*n+1)/2;
cnt++;
}
cout<<cnt<<'\\n';
return 0;
}
1002
#include<iostream>
#include<string>
using namespace std;
string zm(int x){
if(x == 0)return "ling";
if(x == 1)return "yi";
if(x == 2)return "er";
if(x == 3)return "san";
if(x == 4)return "si";
if(x == 5)return "wu";
if(x == 6)return "liu";
if(x == 7)return "qi";
if(x == 8)return "ba";
if(x == 9)return "jiu";
}
int main(){
string s;
cin>>s;
int ans = 0;
for(int i = 0; i < s.size(); i++){
ans += s[i]-'0';
}
if(ans >= 100){
int x = ans/100;
int y = ans/10%10;
int z = ans%10;
cout<<zm(x)<<' '<<zm(y)<<" "<<zm(z)<<'\\n';
}else if(ans >= 10){
int x = ans%10;
int y = ans/10%10;
cout<<zm(y)<<' '<<zm(x)<<'\\n';
}else{
cout<<zm(ans)<<'\\n';
}
return 0;
}
1003
#include<iostream>
#include<cstring>
using namespace std;
int main(){
int n; cin>>n;
while(n--){
string s; cin>>s;
int m[500], p, t;
memset(m,0,sizeof(m));
for(int i = 0; i < s.size(); i++){
m[s[i]]++;
if(s[i]=='P')p = i;
if(s[i]=='T')t = i;
}
int size = 0;
for(int i = 'A'; i < 'z'; i++)if(m[i])size++;
if(m['P']==1&&m['T']==1&&m['A']!=0&&size==3 &&t-p!=1&&p*(t-p-1)==s.size()-t-1)
cout<<"YES\\n";
else
cout<<"NO\\n";
}
return 0;
}
1004
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
struct stu{
string name, id;
int score;
bool operator < (stu b){
return score<b.score;
}
}minn, maxx, t;
int main(){
int n; cin>>n;
maxx.score = -1e9+10, minn.score = 1e9+10;
for(int i = 1; i <= n; i++){
cin>>t.name>>t.id>>t.score;
if(t.score>maxx.score){
maxx = t;
}
if(t.score<minn.score){
minn = t;
}
}
cout<<maxx.name<<" "<<maxx.id<<'\\n';
cout<<minn.name<<" "<<minn.id<<'\\n';
return 0;
}
1005
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
const int maxn = 11000;
int a[maxn], b[maxn];
const bool cmp(int a, int b){return a>b;}
void tag(int x){
while(x!=1){
if(x%2==0)b[x=x/2] = 1;
else b[x=(3*x+1)/2] = 1;
}
}
int main(){
int n; cin>>n;
for(int i = 1; i <= n; i++){
cin>>a[i]; tag(a[i]);
}
vector<int>ans;
sort(a+1,a+n+1,cmp);
for(int i = 1; i <= n; i++)
if(!b[a[i]])ans.push_back(a[i]);
for(int i = 0; i < ans.size()-1; i++)
cout<<ans[i]<<' ';
cout<<ans[ans.size()-1];
return 0;
}
1006
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
int main(){
int n; cin>>n;
int a[3] = {0}, k=0;
while(n!=0){
a[k++]=n%10;
n /= 10;
}
for(int i = 0; i < a[2]; i++)cout<<"B";
for(int i = 0; i < a[1]; i++)cout<<"S";
for(int i = 0; i < a[0]; i++)cout<<i+1;
return 0;
}
1007
//求1-n有几对差为2的素数,直接枚举
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
int isprime(int x){
for(int i = 2; i*i<=x; i++)
if(x%i==0)return false;
return true;
}
int main(){
int n; cin>>n;
int ans = 0;
for(int i = 5; i <= n; i++)
if(isprime(i) && isprime(i-2))
ans++;
cout<<ans<<"\\n";
return 0;
}
1008
//将长为n的数组右移m位,直接枚举
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
int a[110];
int main(){
int n, m; cin>>n>>m;
for(int i = 1; i <= n; i++)cin>>a[i];
int t = n-m%n;
vector<int>ans;
for(int i = t+1; i <= n; i++)ans.push_back(a[i]);
for(int i = 1; i <= t; i++)ans.push_back(a[i]);
for(int i = 0; i < ans.size(); i++){
if(i!=0)cout<<" ";
cout<<ans[i];
}
return 0;
}
1009
//将长为n的数组右移m位,直接枚举
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
stack<string>st;
int main(){
string s;
while(cin>>s)st.push(s);
while(st.size(PAT乙级(Basic Level)真题训练