PATbasic1007
来源:互联网 发布:量化投资python教材 编辑:程序博客网 时间:2024/05/16 07:52
#include "stdafx.h"#include<iostream>#include<vector>using namespace std;vector<int> Prime(int n) { //筛法判断质数vector<int> prime;bool *isprimes = new bool[n + 1];int i, j, k;for (i = 2; i <= n; ++i) {isprimes[i] = true;}for (i = 2; i <= n; ++i) {if (isprimes[i] == true) {for (j = 2; i*j <= n; ++j) {isprimes[i*j] = false;}}}for (k = 2; k <= n; ++k) {if (isprimes[k]) prime.push_back(k);}return prime;}int main(){int n, i, count = 0;cin >> n;vector<int> prime = Prime(n);/*for (i = 0; i < prime.size(); i++) {cout << prime[i] << " ";}cout << endl;*/int current = 0;for (i = 1; i < prime.size(); i++) {if (prime[i] - prime[current] == 2) {current = i;count++;}else current++;}cout << count << endl; return 0;}
这道题关键是判断质数那里,我用的筛法,其基本思想为:用筛法求素数的基本思想是:把从1开始的、某一范围内的正整数从小到大顺序排列, 1不是质数,首先把它筛掉。
剩下的数中选择最小的数是质数,然后去掉它的倍数。依次类推,直到筛子为空时结束(百度百科)。如果用最常见的试除法,复杂度为O(n^2),肯定超时。
阅读全文
0 0
- PATbasic1007
- null可以被强制类型转换成任意类型的对象
- java的socket读取
- exercise 3 --神经网络进行手写体识别
- Ansible Failed
- android app冷启动以及优化
- PATbasic1007
- data mining论文泛读范围
- 什么是分类?
- 简单搞定hdfs读写流程
- 后缀自动机习题集与归纳
- 2017多校第一场 Add More Zero(hdu6033)
- CentOS 6.5系统安装配置LAMP(Apache+PHP5+MySQL)服务器环境
- LeetCode 605. Can Place Flowers 自己的解法
- Redis 4.0.1集群搭建