题目粗心:
给出一个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;}