Problem5047--谷歌的招聘

5047: 谷歌的招聘

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 256 MiB

Description

自然常数 $e$ 是一个著名的超越数,前面若干位写出来是这样的:
e = 2.718281828459045235360287471352662497757247093699959574966967627724076630353547594571382178525166427427466391932003059921... 
其中粗体标出的 $10$ 位数就是答案。
本题要求你编程解决一个更通用的问题:从任一给定的长度为 $L$ 的数字中,找出最早出现的 $K$ 位连续数字所组成的素数。

Input

输入在第一行给出 $2$ 个正整数,分别是 $L$(不超过 $1,000$ 的正整数,为数字长度)和 $K$(小于 $10$ 的正整数)。接下来一行给出一个长度为 $L$ 的正整数 $N$。

Output

在一行中输出 $N$ 中最早出现的 $K$ 位连续数字所组成的素数。如果这样的素数不存在,则输出 $404$。
注意,原始数字中的前导零也计算在位数之内。
例如在 $200236$ 中找 $4$ 位素数,$0023$ 算是解;但第一位 $2$ 不能被当成 $0002$ 输出,因为在原始数字中不存在这个 $2$ 的前导零。

Sample 1 Input

20 5
23654987725541023819

Sample 1 Output

49877

HINT

【题目来源】
https://pintia.cn/problem-sets/994805260223102976/problems/1071785997033074688

Source/Category

C++语法 1.7.字符数组