给出一个L长度的字符串,求出其中第一个K位的素数。ios
使用字符串s接受输入的字符串,并枚举每一个k位的子串(起始位置从0到L-K),而后再转换成整数,判断是不是素数,若是是就直接输出并退出程序。若是不存在就输出404.算法
#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; }