PAT(甲级)2018年冬季考试 7-1 Google Recruitment
Posted CSU迦叶
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PAT(甲级)2018年冬季考试 7-1 Google Recruitment相关的知识,希望对你有一定的参考价值。
1. 本题是 substr+sscanf的绝佳实践。
2. 判断素数使用i*i<=n与i<=(int)sqrt(0.1*x)的区别是前者可能再n接近10的9次方时溢出,但本题不会。
3. 尽管把字符串转变成了整数,但输出时仍旧输出字符串,如果选择打印整数,会遇到%0Kd的问题,而K不可以是变量。
4. L<K的判断在本题可加可不加。
AC代码
#include<cstdio>
#include<cmath>
#include<algorithm>
#include<iostream>
#include<vector>
#include<string>
#include<queue>
#include<map>
#include<cstring>
#include<set>
using namespace std;
const int maxn = 1010;
const int SUP = 100000010;
bool isPrime(int x){
if(x<=1)return false;
for(int i=2;i*i<=x;i++){
if(x%i==0)return false;
}
return true;
}
int main(){
int L,K;
cin>>L>>K;
string str;
cin>>str;
// if(L<K){
// printf("404\\n");
// return 0;
// }
int num;
for(int i=0;i<=L-K;i++){
string sub = str.substr(i,K);
sscanf(sub.c_str(),"%d",&num);
if(isPrime(num)){
cout<<sub;
return 0;
}
}
printf("404\\n");
return 0;
}
以上是关于PAT(甲级)2018年冬季考试 7-1 Google Recruitment的主要内容,如果未能解决你的问题,请参考以下文章
PAT(甲级)2018年冬季考试 7-2 Decode Registration Card of PAT
PAT(甲级)2018年冬季考试 7-3 Vertex Coloring