CodeForces-17A-Noldbach problem

原创 2016年05月31日 22:24:07

Description

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.

Input

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

Output

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

Sample Input
Input

27 2

Output

YES

Input

45 7

Output

NO

Hint

In the first sample the answer is YES since at least two numbers can be expressed as it was described (for example, 13 and 19). In the second sample the answer is NO since it is impossible to express 7 prime numbers from 2 to 45 in the desired form.

直接打个素数表就然后找就OK了,数据范围不大

#include<bits/stdc++.h>
 using namespace std;
 const int N = 2222;
 int prime[N],pre[N];

 bool pri(int num)
 {
    for(int i=2;i*i<=num;i++)
      if(num%i==0) return false;
    return true;
 }


 void init()
 {
    int i,j,cnt;
    for(i=2;i<=1000;i++) {
        if(!prime[i])
        for(j=i+i;j<=1000;j+=i)
        prime[j]=1;
     }
     cnt=0;
     for(i=2;i<=1000;i++) {
        if(!prime[i]) prime[++cnt]=i;
     }
     for(i=2;i<=cnt;i++) {
        int t=prime[i]+prime[i-1]+1;
        if(pri(t)) pre[t]=1;
     }
     for(i=1;i<=1000;i++) {
        pre[i]+=pre[i-1];

     }
 }

 int main()
 {
    init();
    int n,k;
    while(scanf("%d%d",&n,&k)!=EOF)
    {
        if(pre[n]>=k) printf("YES\n");
        else printf("NO\n");
     }
     return 0;
 }



版权声明:本文为博主原创文章,未经博主允许不得转载。

算法导论(第三版)-复习- Stable Matching Problem

稳定婚姻算法 - Gale-Shapley算法
  • ZoeyyeoZ
  • ZoeyyeoZ
  • 2016年07月01日 17:05
  • 1215

【网络流+可持久化线段树】[UOJ#77/BZOJ3218]A+B Problem

题目题目链接UOJ#77 BZOJ3218题目描述 分析感谢VFleaKing的博客中的讲解和geng4512的博客中的代码,涨了不少知识。网络流的做法首先我们来看看答案是怎么得到的 ans=∑...
  • outer_form
  • outer_form
  • 2016年03月10日 16:03
  • 1237

Python深入:编码问题总结

一:字符编码简介          1:ASCII          最初的计算机的使用是在美国,所用到的字符也就是现在键盘上的一些符号和少数儿个特殊的符号,一个字节所就能足以容纳所有的这些字符,实际...
  • gqtcgq
  • gqtcgq
  • 2015年07月26日 16:15
  • 5197

第14周Problem C: 杨辉三角形

问题及代码: /* *Copyright (c)2014,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:number.cpp *作 者:单昕昕 ...
  • MIKASA3
  • MIKASA3
  • 2014年11月27日 15:57
  • 655

524 A-B Problem【字符串处理】

A-B Problem 时间限制:1000 ms  |  内存限制:65535 KB 难度:3 描述 A+B问题早已经被大家所熟知了,是不是很无聊呢?现在大家来做一下A-B吧。 现在有两...
  • liuke19950717
  • liuke19950717
  • 2015年09月02日 11:46
  • 333

Problem D: 数组类(II)

Description 封装一个模板数组类,用于存储数组和处理的相关功能,支持以下操作: 1. Array::Array(int l)构造方法:创建一个长度为l的组对象。 2. Arra...
  • qq_38158040
  • qq_38158040
  • 2017年04月19日 08:55
  • 396

【安卓学习之常见问题】 使用Eclipse clean时,出现“cleaning all project has encountered a problem”提示

在使用Eclipse时,经常需要clean下工程,结果每次clean都提示:“cleaning all project has encountered a problem. Errors occurr...
  • ljb568838953
  • ljb568838953
  • 2016年09月18日 09:19
  • 3369

Problem F: C语言习题 矩阵元素变换

能测试中,如有问题请联系17862809558 17862818011 18865513850 18865513930 Problem F: C语言习题 矩阵元素变换 Time Lim...
  • wzy_112099
  • wzy_112099
  • 2016年03月10日 21:28
  • 248

HDU 2601An easy problem-素数的运用,暴力求解

An easy problem Time Limit: 3000MS   Memory Limit: 32768KB   64bit IO Format: %I64d & %...
  • qq_18661257
  • qq_18661257
  • 2015年07月28日 11:57
  • 965

极光推送的使用

极光推送的使用
  • zhangying1994
  • zhangying1994
  • 2016年07月03日 14:30
  • 1597
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:CodeForces-17A-Noldbach problem
举报原因:
原因补充:

(最多只允许输入30个字)