题目链接:点击打开链接

题意:

求<=n内有多少对素数(a,b)使得a+b也为素数

思路:

我们发现全部素数间隔都是>=2的,且除了2都是奇数。那么:

奇数+奇数 = 偶数。

所以仅仅有一种情况2+素数=素数。

所以打个素数表,看一下有多少个素数和前面那个素数间隔是2的。

#include <stdio.h>
#include <string.h>
#include <iostream>
#include <math.h>
#include <queue>
#include <set>
#include <algorithm>
using namespace std;
#define N 88498
typedef int ll;
ll prime[N], primenum, ans[N];
void PRIME(ll Max_Prime){primenum = 0;prime[primenum++] = 2;for(ll i = 3; i <= Max_Prime; i+=2)for(ll j = 0; j < primenum; j++)if(i%prime[j]==0)break;else if(j == primenum-1 || prime[j] > sqrt((double)i)){prime[primenum++] = i;break;}
}
int n;
void solve(){int pos = lower_bound(prime, prime+primenum, n)-prime;if(prime[pos]!=n)pos--;printf("%d\n", ans[pos]);for(int i = 1; i <= pos; i++)if(ans[i-1]!=ans[i])printf("2 %d\n", prime[i-1]);
}
int main(){PRIME(1000000);//  for(int i = 0; i <= 10; i++)printf("%d ", prime[i]);//  printf("%d\n", primenum);memset(ans, 0, sizeof ans);for(int i = 1; i < primenum; i++){if(prime[i-1] == prime[i] - 2)ans[i]++;}for(int i = 1; i < primenum; i++)ans[i] += ans[i-1];while(~scanf("%d",&n))solve();return 0;
}

SGU 231 Prime Sum 求lt;=n内有多少对素数(a,b)使得a+b也为素数 规律题相关推荐

  1. SGU 231 Prime Sum 求=n内有多少对素数(a,b)使得a+b也为素数 规律题

    题目链接:点击打开链接 题意: 求<=n内有多少对素数(a,b)使得a+b也为素数 思路: 我们发现所有素数间隔都是>=2的,且除了2都是奇数,那么: 奇数+奇数 = 偶数. 所以只有一种 ...

  2. 6:求指定范围内的素数

    6:求指定范围内的素数 素数:又称质数,是指除了1和它自身外没有其它因子的正整数(1不是素数). 输入2个正整数m和n(m≤n),输出m~n间的所有素数,并求出个数. 提示:定义一个判断素数的函数,通 ...

  3. 水仙花区间java_给你A和B,求[A,B]区间内有多少个水仙花数 输入描述: 两个整数,用空格隔开,保证数字...

    给你A和B,求[A,B]区间内有多少个水仙花数 输入描述: 两个整数,用空格隔开,保证数字都小于等于1000000,否则返回0 输出描述: 一个数字,表示[A,B]区间内的水仙花数个数 分析得分点: ...

  4. 组合数学-容斥原理-求指定区间内与n互素的数的个数

    求指定区间内与n互素的数的个数 给出整数n和r.求区间[1,r]中与n互素的数的个数. 去解决它的逆问题,求不与n互素的数的个数. 考虑n的所有素因子pi(i=1···k) 在[1,r]中有多少数能被 ...

  5. java求六位数以内所有自幂数

    如果在一个固定的进制中,一个n位自然数等于自身各个数位上数字的n次幂之和,则称此数为自幂数. 以下用java语言求六位数以内所有自幂数. 独身数共有9个: 1,2,3,4,5,6,7,8,9; 水仙花 ...

  6. ACMNO.17C语言-筛法求素数 用筛法求之N内的素数。

    题目描述 用筛法求之N内的素数. 输入 N 输出 0-N的素数 样例输入 100 样例输出 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 7 ...

  7. C#筛法求出范围内的所有质数

    科普篇:筛法是一种简单检定素数的算法.据说是古希腊的埃拉托斯特尼(Eratosthenes,约公元前274-194年)发明的,又称埃拉托斯特尼筛法(sieve of Eratosthenes). 说实 ...

  8. Project Euler 50 Consecutive prime sum

    题意: 素数41可以写成六个连续素数的和: 41 = 2 + 3 + 5 + 7 + 11 + 13 在小于一百的素数中,41能够被写成最多的连续素数的和. 在小于一千的素数中,953能够被写成最多的 ...

  9. Database之SQL:SQL之over partition by开窗函数的简介、使用方法(求各班级内各自排名/求各班级内第一名/求各班级内分数递增和等案例解析)之详细攻略

    Database之SQL:SQL之over partition by开窗函数的简介.使用方法(求各班级内各自排名/求各班级内第一名/求各班级内分数递增和等案例解析)之详细攻略 目录 over part ...

最新文章

  1. dwr消息推送和tomcat集群
  2. 安装 centos7
  3. linux shel的学习网站(推荐)
  4. Java入门需掌握的30个基本概念[转]
  5. LeetCode 1553. 吃掉 N 个橘子的最少天数(BFS)
  6. HDFS balancer 异常处理
  7. requests由于系统缓冲区空间不足_系统C盘满了空间不足的扩容?
  8. 在C++中使用Lambda函数提高代码性能
  9. POJ1062 昂贵的聘礼(最短路径)
  10. 为什么计算机网络使用数字信号,什么是数字信号
  11. ArcGIS+Google Earth Pro 经纬度标点地图
  12. 最小生成树算法之Prim(普里姆)算法
  13. app标签栏android,Android Navigation TabBar控件实现多彩标签栏
  14. JavaScript高程三----(基础一)
  15. HE4484E芯片资料
  16. 流程图基础绘制方法和流程图制作软件功能详解
  17. e4a换行_这个易语言代码用E4A怎么写?
  18. m3u8下载合并图片文件(但实际上还是ts文件)
  19. python机器学习——决策树(分类)及“泰坦尼克号沉船事故”数据集案例操作
  20. 关于poi操作word,word转换pdf预览,这边文章就够了

热门文章

  1. 《avascript 高级程序设计(第三版)》 ---第三章 基本概念2
  2. android修改用户名和密码错误,Android应用开发Android Studio 修改用户名、密码、URL等操作教程...
  3. 【开源】多多客发布 3.0.0-alpha.6,Koa+Vue+Taro最佳实践
  4. CentOS 6与7对比【转】
  5. “音”你而来,“视”而可见 腾讯云+社区音视频技术开发实战沙龙圆满结束...
  6. swift 点击imageView全屏预览(UIview中弹出提示框)
  7. CAD转换图片的小窍门
  8. 10.1综合强化刷题 Day1 morning
  9. [Spring实战系列](8)Spring注入方式之setter注入
  10. Cocos2d-x 3.2:定时器的使用和原理探究(1)