这道题大意就是给了一个L位的数字,要求其第一个连续的K位质数。水题,关键要看懂英文描述K-digit prime----k位质数
1 #include<iostream> 2 #include<string> 3 using namespace std; 4 bool is(string p) //判断是不是质数 5 { 6 7 int k = stoi(p); 8 if (k == 1)return false; 9 if (k == 2)return true; 10 if (k == 3)return true; 11 //cout <<"p等于:"<< p<<endl; 12 for (int i = 2; i*i <= k; i++) 13 { 14 if (k%i == 0){ return false; } 15 } 16 return true; 17 18 } 19 int main() 20 { 21 int l=0,k=0; 22 string s; 23 cin >> l >> k; 24 cin >> s; 25 bool find1 = false; 26 for (int i = 0; i + k <=s.length(); i++) 27 { 28 string p(s,i,k); 29 //cout << p<<endl; 30 if (is(p)){ cout << p; find1 = true; break; } 31 } 32 if (find1 == false)cout << "404"; 33 return 0; 34 }