POJ3292 Semi-prime H-numbers 素数筛选
来源:互联网 发布:电脑串口测试软件 编辑:程序博客网 时间:2024/05/23 01:11
题目大意:H-Number被定义为4*n+1的数,其中n是整数,将H-Number分为unit,H-Prime ,H-Composites,1是唯一的unit,H-Prime是它只能被唯一的两个H-Number整除
分为是1和它本身,剩下的就是H-Composites。给定一个H-Number h,计算出1-h中有多少个H-Prime。
仿造埃氏筛法进行H-Prime筛选就可以了。
#ifndef HEAD#include <stdio.h>#include <vector>#include <math.h>#include <string.h>#include <string>#include <iostream>#include <queue>#include <list>#include <algorithm>#include <stack>#include <map>using namespace std;#endif // !HEADbool isprime[1000002];int icount[1000002];int main(){memset(isprime, 1, sizeof(isprime));memset(icount, 0, sizeof(icount));isprime[1] = 0;for (int i = 5; i <= 1000001;i += 4){if (isprime[i]){for (int j = i * 2; j <= 1000001;j+= i){isprime[j] = 0;}}}vector<int> h_primes;h_primes.resize(89070);int index = 0;for (int i = 5; i <= 1000001; i += 4){if (isprime[i]){//h_primes.push_back(i);h_primes[index++] = i;}}memset(isprime, 0, sizeof(isprime));for (int i = 0; i < h_primes.size();i++){for (int j = i; j < h_primes.size();j++){long long res = ((long long)h_primes[i]) * h_primes[j];if (res <= 1000001){isprime[res] = 1;}elsebreak;}}int count = 0;for (int i = 0; i <= 1000001;i++){if (isprime[i]){count++;}icount[i] = count;}#ifdef _DEBUGfreopen("d:\\in.txt", "r", stdin);#endifint a;while (scanf("%d\n", &a) != EOF){if (a == 0){break;}printf("%d %d\n", a, icount[a]);}return 0;}
0 0
- POJ3292 Semi-prime H-numbers 素数筛选
- POJ3292 Semi-prime H-numbers
- POJ3292--Semi-prime H-numbers
- poj3292 Semi-prime H-numbers
- poj3292 Semi-prime H-numbers
- POJ3292 Semi-prime H-numbers
- poj3292 Semi-prime H-numbers
- poj3292 Semi-prime H-numbers
- [POJ3292]Semi-prime H-numbers
- POJ3292——Semi-prime H-numbers
- POJ3292——Semi-prime H-numbers
- Semi-prime H-numbers poj3292 (类比欧拉筛)
- POJ3292 UVA11105 Semi-prime H-numbers【筛法打表】
- POJ 3292 Semi-prime H-numbers【筛选素数变形】
- (POJ3292)Semi-prime H-numbers <素数筛法的变形>
- poj3292--Semi-prime H-numbers(数论篇2)
- poj3292——Semi-prime H-numbers(数论)
- Semi-prime H-number(poj3292)
- 走进windows编程的世界-----位图及映射模式
- android 中shape的使用
- 一名好的游戏运营需要具备哪些素质和技能?
- Android ANR日志粗略分析
- ps实现雷达扫描效果
- POJ3292 Semi-prime H-numbers 素数筛选
- 华为面试题算什么,这个背会了外企随便进
- poj 2060
- wiki 1157 2k进制数
- Git学习日记1
- 数据库,规则库和知识库的比较
- ZOJ-1152
- 跟我一起学extjs5(19--模块记录的拖放删除、拖放复制新增)
- DAG上的动态规划