思路:注意补零,然后模拟就完事了,比较简单。
#include<cstdio>
#include<cmath>
char str[1010];
int isprime(int x){
if(x<1) return 0;
else if(x==2) return 1;
else if(x%2==0) return 0;
else{
for(int j=3;j<=int(sqrt(x));j+=2){
if(x%j==0) return 0;
}
}
return 1;
}
int main(){
int n,m,flag=0;
scanf("%d%d%s",&n,&m,str);
for(int i=m-1;i<n;i++){
int sum=0;
for(int j=i-m+1;j<=i;j++){
sum=sum*10+str[j]-'0';
}
if(isprime(sum)){
int t=1,tmp=sum;
while(tmp/10){
t++;
tmp=tmp/10;
}
for(int j=0;j<m-t;j++){
printf("0");
}
printf("%d\n",sum);
flag=1;
break;
}
}
if(flag==0) printf("404\n");
return 0;
}