1152 Google Recruitment (20 分)

本文介绍了一种算法,用于从给定的L位数字中找出首个连续的K位质数。通过C++实现,该算法检查每一个可能的K位数字,判断其是否为质数,并返回找到的第一个质数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这道题大意就是给了一个L位的数字,要求其第一个连续的K位质数。水题,关键要看懂英文描述K-digit prime----k位质数

 1 #include<iostream>
 2 #include<string>
 3 using namespace std;
 4 bool is(string p)   //判断是不是质数
 5 {
 6 
 7     int k = stoi(p);
 8     if (k == 1)return false;
 9     if (k == 2)return true;
10     if (k == 3)return true;
11     //cout <<"p等于:"<< p<<endl;
12     for (int i = 2; i*i <= k; i++)
13     {
14         if (k%i == 0){ return false; }
15     }
16     return true;
17 
18 }
19 int main()
20 {
21     int l=0,k=0;
22     string s;
23     cin >> l >> k;
24     cin >> s;
25     bool find1 = false;
26     for (int i = 0; i + k <=s.length(); i++)
27     {
28         string p(s,i,k);
29         //cout << p<<endl;
30         if (is(p)){ cout << p; find1 = true; break; }
31     }
32     if (find1 == false)cout << "404";
33     return 0;
34 }

 

转载于:https://www.cnblogs.com/luoshiyong/p/10097969.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值