PAT(Advanced Level)1152. Google Recruitment

转:

PAT(Advanced Level)1152. Google Recruitment

题意

在一个字符串中,找到第一个长度为k的子串,而且这个子串对应的数字要是素数

思路

  • 遍历这个字符串,每次用substr取长度为k的子串即可,利用stoi函数可以方便地将字符串→数,然后检查是否为素数即可

代码

#include
#include
#include
#include
#include
using namespace std;
bool is_prime(int x) {
    if(x < 2) {
        return false;
    }
    if(x == 2) {
        return true;
    }
    for(int i = 2; i < sqrt(x) + 1; i++) {
        if(x % i == 0) {
            return false;
        }
    }
    return true;
}
int main() {
    string s;
    int l, k;
    cin >> l >> k;
    cin >> s;
    for(int i = 0; i < s.size() - k + 1; i++) {
        int value = stoi(s.substr(i, k));
        if(is_prime(value)) {
            cout << s.substr(i, k);
            return 0;
        }
    }
    cout << 404;
}

转:

PAT(Advanced Level)1152. Google Recruitment

上一篇:BZOJ 2152:聪聪可可(树上点分治)


下一篇:古老的编程语言仍然对大公司至关重要。但没人想学习它们, COBOL编程语言