前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >1094 谷歌的招聘 (20 分)

1094 谷歌的招聘 (20 分)

作者头像
可爱见见
发布2019-11-18 23:06:02
3470
发布2019-11-18 23:06:02
举报
文章被收录于专栏:卡尼慕卡尼慕

1094 谷歌的招聘 (20 分)

【我的代码】

代码语言:javascript
复制
 1//1094 谷歌的招聘 (20 分)
 2#include <iostream>
 3#include <string>
 4#include <algorithm>
 5#include <math.h> 
 6#include <sstream>
 7using namespace std;
 8bool isprime(long long number){//判断素数 
 9    for(long long i = 2; i < sqrt(number); i++){
10        if(number%i == 0)
11            return false;
12    }
13    return true;
14}
15int main(){
16    int L, K; //L:数字长度 , K:连续的数字长度 
17    cin>>L>>K;
18    string num;
19    getchar();
20    getline(cin, num); 
21    for(int i = 0; i <= L - K; i++){
22        string str;
23        long long  res;
24        str = num.substr(i,K);
25        stringstream ss;
26        ss << str;
27        ss >> res;
28        ss.clear();
29        if(isprime(res)){
30            cout<<str;
31            return 0;
32        }
33    }
34    cout<<"404";
35    return 0;
36} 

【思路】

题目看起来很长很难,实际上考点分析出来以后也就很简单了。

考察:

  1. 素数的判断方法
  2. 字符串的截取
  3. 字符串与整数的转换

一个一个说。

首先是素数的判断方法,这个已经练的不少了。

代码语言:javascript
复制
bool isprime(long long number){//判断素数 
    for(long long i = 2; i < sqrt(number); i++){
        if(number%i == 0)
            return false;
    }
    return true;
}

遍历一下,只要没有出现整除的情况就是素数,没什么问题。

然后是字符串的截取。这个完全就是在考察你对C++的包熟练度问题。

代码语言:javascript
复制
str = num.substr(i,K);

从i索引开始,往后截取k个字符。

最后是字符串与整数的转换,这个有很多种方法,这里采用的是sstream。

代码语言:javascript
复制
#include <sstream> //记得改头文件!!
string str;
long long  res;
ss << str;
ss >> res;
ss.clear();
本文参与?腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-11-18,如有侵权请联系?cloudcommunity@tencent.com 删除

本文分享自 卡尼慕 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com