PAT(Basic Level) Practice : 1094 谷歌的招聘 (20分)

1094 谷歌的招聘 (20分)

测试点2的坑

“例如在 200236 中找 4 位素数,0023 算是解”
这句话的意思是23是错误的,0023是正确的,只需把截取出的字符串输出就行,而不是输出转换的数字

代码

#include <iostream>
#include <vector>
#include <string>
#include <cstdio>
//scanf printf防止超时
#include <algorithm>
//vector的sort
#include <sstream>
//转换
using namespace std;

#include<iomanip>
//精度

#include<cmath>
//round四舍五入取整
#include <map>

bool judge(int num)
{
    if(num==2)
        return true;
    if(num%2==0)
        return false;

    bool flag=true;
    int n=sqrt(num);
    for(int i=3;i<=n;i=i+2)
    {
        if(num%i==0)
        {
            flag=false;
        }
    }
    return flag;
}

int main()
{
    int l,k;
    cin>>l>>k;
    string str;
    cin>>str;
    bool flag=true;
    for(int i=0;i<=l-k;i++)
    {
        string temp=str.substr(i,k);
        stringstream ss;
        ss<<temp;
        int num;
        ss>>num;
        if(judge(num))
        {
            cout<<temp<<endl;
            flag=false;
            break;
        }
    }
    if(flag)
        cout<<"404"<<endl;
    return 0;
}

上一篇:源码分析:go-redis 集群客户端 key 路由的实现


下一篇:ARAML: A Stable Adversarial Training Framework for Text Generation (EMNLP 2019)