题目粗心:

给出一个L长度的字符串,求出其中第一个K位的素数。

算法思路:

应用字符串s承受输出的字符串,并枚举每个k位的子串(起始地位从0到L-K),而后再转换成整数,判断是否是素数,如果是就间接输入并退出程序。如果不存在就输入404.

留神点:

  • 1、测试点3考查前导0的输入。

提交后果:

AC代码:

#include<cstdio>#include<string>#include<iostream>#include<cmath>using namespace std;bool isPrime(int num){    if(num<=1){        return false;    }    int sqrtn = (int)sqrt(num*1.0);    for (int i = 2; i <= sqrtn; ++i) {        if(num%i==0){            return false;        }    }    return true;}int main(){    int L,K;    scanf("%d %d",&L,&K);    string s;    cin>>s;    int len = L-K;    for(int i=0;i<=len;++i){        string r = s.substr(i,K);        int num = stoi(r);        if(isPrime(num)){            cout<<r;            return 0;        }    }    printf("404");    return 0;}