zoukankan      html  css  js  c++  java
  • PAT甲级-1152-Google Recruitment(20 分)

    描述

    传送门:我是传送门

    In July 2004, Google posted on a giant billboard along Highway 101 in Silicon Valley (shown in the picture below) for recruitment. The content is super-simple, a URL consisting of the first 10-digit prime found in consecutive digits of the natural constant e. The person who could find this prime number could go to the next step in Google’s hiring process by visiting this website.

    prime.jpg

    The natural constant e is a well known transcendental number(超越数). The first several digits are: e = 2.718……..921… where the 10 digits in bold are the answer to Google’s question.

    Now you are asked to solve a more general problem: find the first K-digit prime in consecutive digits of any given L-digit number.

    输入

    Each input file contains one test case. Each case first gives in a line two positive integers: L (≤ 1,000) and K (< 10), which are the numbers of digits of the given number and the prime to be found, respectively. Then the L-digit number N is given in the next line.

    输出

    For each test case, print in a line the first K-digit prime in consecutive digits of N. If such a number does not exist, output 404 instead. Note: the leading zeroes must also be counted as part of the K digits. For example, to find the 4-digit prime in 200236, 0023 is a solution. However the first digit 2 must not be treated as a solution 0002 since the leading zeroes are not in the original number.

    样例

    输入

    1
    2
    3
    >20 5
    >23654987725541023819
    >

    输出

    1
    2
    >49877
    >

    输入

    1
    2
    3
    >10 3
    >2468024680
    >

    输出

    1
    2
    >404
    >

    思路

    坑点: 1. 0、1都不是素数 2. 输出的时候带着前导零

    因为个人习惯原因,不喜欢用自带函数。所以一开始的几个功能都是手撸的,然后错三个点

    发现自己把0,1给漏掉了,改了改,错两个点

    发现自己有个变量写成了定值了,改掉了,错一个点

    尝试了一下是不是得带着前导零?改掉以后没错了

    (还是头文件里的函数好用,以后再也不手撸了

    总之是挺水的一道题

    代码

    /*
     * ========================================================
     *
     *       Filename:  1152.cpp
     *
     *           Link:
     *
     *        Created:  2019/01/21 22时05分09秒
     *
     *         Author:  duny31030 , duny31030@126.com
     *   Organization:  duny31030.top
     *
     * ========================================================
     */
    #include <bits/stdc++.h>
    using namespace std;
    #define clr(a, x) memset(a, x, sizeof(a))
    #define rep(i,a,n) for(int i=a;i<=n;i++)
    #define pre(i,a,n) for(int i=n;i>=a;i--)
    #define ll long long
    #define ios ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);
    
    const double eps = 1e-6;
    const int INF = 0x3f3f3f3f;
    const int mod = 1e9 + 7;
    const int N = 1100;
    // char a[N];
    int len,l;
    string a;
    bool isprime(int n)
    {
        if(n == 0 || n == 1)    return false;
        for(int i = 2;i*i <= n;i++)
        {
            if(n%i == 0)    return false;
        }
        return true;
    }
    
    int main()
    {
        ios
        #ifdef ONLINE_JUDGE
        #else
            freopen("in.txt","r",stdin);
            // freopen("out.txt","w:",stdout);
        #endif
        cin >> len >> l;
        cin >> a;
        int tmp = 0;
        for(int i = 0;i <= len-l;i++)
        {
            string b = a.substr(i,l);
            tmp = stoi(b);
            if(isprime(tmp))
            {
                cout << b;
                return 0;
            }
        }
        cout << "404";
        fclose(stdin);
        // fclose(stdout);
        return 0;
    }
    
  • 相关阅读:
    axios取消请求
    echarts常用图表配置
    Vue指令限制输入框输入整数小数
    小程序商品飞入购物车组件
    webpack按测试和生产环境进行编译
    地图画线添加标签
    vue-element-admin 动态侧边栏
    html2canvas 和浏览器打印
    echarts 指定某段曲线颜色
    列出表结构
  • 原文地址:https://www.cnblogs.com/duny31030/p/14305328.html
Copyright © 2011-2022 走看看