pat乙级 1094谷歌招聘问题

pat乙级 1094谷歌招聘问题_第1张图片
思路 用c++ string很快解决问题

#include "pch.h"
#include 
using namespace std;
#include 
#include 
//判断是否是素数
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;
}

你可能感兴趣的:(pat乙级 1094谷歌招聘问题)