pat乙級 1094谷歌招聘問題
阿新 • • 發佈:2018-12-24
思路 用c++ string很快解決問題
#include "pch.h" #include <iostream> using namespace std; #include <string> #include <math.h> //判斷是否是素數 bool is_prime(int num) { if (num == 2 || num == 3) return true; else { bool temp = false; for (int i = 2; i <= (int)sqrt(num); i++) { if (num%i == 0) return false; } return true; } } int main() { string s; int m,k; cin >> m; cin >> k; cin >> s; if (k > s.size()) { cout << "404"; } else { int a = 0; while (a <= s.size() - k ) { //擷取子串 長度為k string temp = s.substr(a, k); //將子串轉化為int型 int j = atoi(temp.c_str()); //判斷是否是素數 if (is_prime(j)) { //是素數直接輸出此時的子串 cout << temp; return 0; } a++; } //一直沒找到 輸出404 cout << "404"; } return 0; }