题意
给一串数,找连续k个数字的首个素数。
代码
#include <bits/stdc++.h>
using namespace std;
const int N = 1e3 + 10;
typedef long long ll;
bool judge(int num)
{
if (num <= 1)
return false;
for (int i = 2; i*i <= num; i++)
{
if (num % i == 0)
return false;
}
return true;
}
int main(void)
{
int i, j, temp;
int n, k; char str[N];
scanf("%d%d", &n, &k);
scanf("%s", str);
string s = str;
for (i = 0; i+k <= n; i++)
{
int num = stoi(s.substr(i, k));
if (judge(num))
{
printf("%s", s.substr(i, k).c_str());
return 0;
}
}
printf("404");
}
本文介绍了一个算法,该算法接收一串数字,并从中查找连续k个数字构成的首个素数。通过将字符串转换为整数并利用素数判断函数,实现了高效查找。
1045

被折叠的 条评论
为什么被折叠?



