
PAT (Basic Level) Practice (中文)
符义的博客
平淡的时光随风而逝,无人聆听。
展开
-
1014 福尔摩斯的约会 (20 分) 附测试点2介绍
点击此处,可查看题目详情想法:1.按照题目意思走就可以了,没啥思路难点2.注意测试点2,第二对相同字符后还有相同字符。比如下面这个代码就是没考虑第二对相同字符后还有相同字符的情况。#include<iostream>#include <cctype>using namespace std;char Day[7][6]={"MON","TUE","WED","THU","FRI","SAT","SUN"};int main(){ string a,b,c,d;原创 2021-05-06 17:04:49 · 832 阅读 · 0 评论 -
1013 数素数 (20 point(s))
题目地址易错点或感叹点:1.测试点4的最大值为第10000个素数,所以要把max设为1050012.注意等号,条件有无等号很重要!千万别忘记写!!!3.柳神yyds4.筛选素数哪里,用了埃氏筛法5.我得学下vector了#include<iostream>using namespace std;#define max 105001int A[max]={0};int B[10001];int fy(int a){ //判断是不是素数 ,是,返回0 for(int原创 2021-05-06 11:19:50 · 209 阅读 · 0 评论 -
1012 数字分类 (20 point(s))
人傻了,花了好久时间找某一个测试点的问题,关于A2,交错求和值可能会为0,所以,不能以值来作为输出判断……需要计数!#include<iostream>using namespace std;int main(){ int i,sr; int a=0,b=0,c=0,d=0,e=-1; int fh=1,d1=0,countb=0; cin>>i; for(int j=0;j<i;j++){ cin>>s原创 2021-04-30 00:12:52 · 187 阅读 · 0 评论 -
1011 A+B 和 C (15 分)
#include<iostream>using namespace std;int main(){ int i; double a,b,c; cin>>i; for(int j=1;j<=i;j++){ cin>>a>>b>>c; printf("Case #%d: ",j); a+b>c?printf("true\n"):printf("false\n");原创 2021-04-29 17:30:30 · 146 阅读 · 0 评论 -
1010 一元多项式求导 (25 分)
#include<iostream>using namespace std;int A[10001];int B[10001];int main(){ int a,b; //a为系数 b为指数 int i=0; while(cin>>a>>b){ A[b]=a; B[i++]=b; if(a==0 && b==0){ cout<<"0 0";原创 2021-04-29 17:20:58 · 131 阅读 · 0 评论 -
1007 素数对猜想 (20 point(s))
1,一开始没读懂题,后面发现文中的“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。所以接下来知道要干嘛了。2,一次性ac了,暴力枚举,没啥高深的地方。3,简单说下思路,建立 A数组,比如A[i]存放的数值是判断i是不是素数,i为0表示为素数,1表示不是。建立B数组来存放A数组中为素数的i,然后遍历B数组,相减,来判断值为2否,为2,侧相加记录。#include<iostream>using namespace std;#include<cmath>int A[10原创 2021-04-27 14:44:50 · 154 阅读 · 0 评论 -
1006 换个格式输出整数 (15 分)
没什么好说的。#include<iostream>using namespace std;void fy(int n){ int a,b,c; a=n/100,b=n/10%10,c=n%10; if(a){ for(int i=0;i<a;i++) cout<<'B'; } if(b){ for(int i=0;i<b;i++) cout<原创 2021-04-26 17:06:30 · 131 阅读 · 0 评论 -
1005 继续(3n+1)猜想 (25 分)
1,该题没说输入的那几个数字是降序还是升序,需要自己排序。2,一开始代码写的很繁琐,后面看了柳神的代码,修改了fuzhi哪里,结果越改越错。3,思路,我一开始想的思路和柳神一致,就是代码写的不太一样。建立一个数值A来记录符不符合题意,也没什么好说的啦,按照题意,暴力枚举即可,注意fuzhi里的break可以优化运行时间。4,顺便学习了,sort函数。void fuzhi(int a){ while(a!=1){ if(a%2!=0) a=a*3+1; // if(a%2==0原创 2021-04-26 16:55:04 · 229 阅读 · 2 评论