题源https://pintia.cn/problem-sets/994805260223102976/exam/problems/1071785997033074688
提交1:一个用例没过
提交2:AC
错因:输出需为字符串,例如在 200236 中找 4 位素数,解是0023
关键:第33行代码
#include <iostream>
#include <string>
#include <cstring>
#include <cmath>
#include <algorithm>
#include <set>
#include <vector>
#include <iomanip>
using namespace std;
bool isPrime(int n) {
if(n<2) return 0;
if(n==2) return 1;
if(n%2) {
for(int i=3;i<=sqrt(n);i++)
if(n%i==0) return 0;
} else return 0;
return 1;
}
int main() {
int l, k;
cin>>l>>k;
string s;
cin>>s;
for(int i=0;i<l-k+1;i++) {
int num=0;
for(int j=i;j<i+k;j++) {
int tmp=(int)s[j]-48;
num=num*10+tmp;
}
if(isPrime(num)) {
cout<<setw(k)<<setfill('0')<<num; // 头文件#include <iomanip>
return 0;
}
}
cout<<"404";
}