zoukankan      html  css  js  c++  java
  • Codeforces Beta Round #17 A

    A - Noldbach problem

    题面链接

    http://codeforces.com/contest/17/problem/A

    题面

    Nick is interested in prime numbers. Once he read about Goldbach problem. It states that every even integer greater than 2 can be expressed as the sum of two primes. That got Nick's attention and he decided to invent a problem of his own and call it Noldbach problem. Since Nick is interested only in prime numbers, Noldbach problem states that at least k prime numbers from 2 to n inclusively can be expressed as the sum of three integer numbers: two neighboring prime numbers and 1. For example, 19 = 7 + 11 + 1, or 13 = 5 + 7 + 1.

    Two prime numbers are called neighboring if there are no other prime numbers between them.

    You are to help Nick, and find out if he is right or wrong.

    输入

    The first line of the input contains two integers n (2 ≤ n ≤ 1000) and k (0 ≤ k ≤ 1000).

    输出

    Output YES if at least k prime numbers from 2 to n inclusively can be expressed as it was described above. Otherwise output NO.

    题意

    问你在[2,n]里面是否至少有k个质数由1+两个相邻的素数组成呢?

    题解

    直接暴力模拟就好了嘛

    代码

    #include<bits/stdc++.h>
    using namespace std;
    const int maxn = 1005;
    int pri[maxn],n,k;
    void pre()
    {
        pri[0]=1,pri[1]=1;
        for(int i=2;i<maxn;i++){
            if(pri[i])continue;
            for(int j=i+i;j<maxn;j+=i)
                pri[j]=1;
        }
    }
    int main()
    {
        pre();
        scanf("%d%d",&n,&k);
        int ans = 0;
        for(int i=2;i<=n;i++){
            if(pri[i])continue;
            int flag = 0;
            for(int j=2;j<i;j++){
                if(pri[j])continue;
                for(int k=j+2;k+j<=i;k++){
                    if(!pri[k]&&!pri[j]&&k+j==i-1)
                        flag = 1;
                    if(!pri[k])break;
                }
            }
            if(flag)ans++;
        }
        if(ans>=k)cout<<"YES"<<endl;
        else cout<<"NO"<<endl;
    }
  • 相关阅读:
    HTML <input> 标签
    HTML5 <input> type 属性
    静态页面与动态页面
    string::size_type 页73 size_t 页90
    template method(模板方法)
    C++中创建对象的时候加括号和不加括号的区别(转)
    _declspec(dllexport)和.def(转)
    智能指针
    C++中的delete加深认识
    工厂方法(整理自李建忠<C++设计模式>视频)
  • 原文地址:https://www.cnblogs.com/qscqesze/p/6169840.html
Copyright © 2011-2022 走看看