1. 程式人生 > >pat乙級 1094谷歌招聘問題

pat乙級 1094谷歌招聘問題

在這裡插入圖片描述
思路 用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;
}