poj 3292 Semi-prime H-numbers (打表 同余模运算)
2016-05-31 17:00
661 查看
http://poj.org/problem?id=3292
题意:H-number为mod 4=1的数
H-prim为除了1和本身外不能被任何H-number整除的数
H-semi-prime为两个H-prim的乘积
求1-h有多少个H-semi-prime;
思路:打表
题意:H-number为mod 4=1的数
H-prim为除了1和本身外不能被任何H-number整除的数
H-semi-prime为两个H-prim的乘积
求1-h有多少个H-semi-prime;
思路:打表
#include <iostream> #include <queue> #include <cstdio> #include <cstring> #include <algorithm> #include <cmath> #include <cstdlib> #include <limits> #include <stack> #include <vector> #include <map> using namespace std; #define N 1000020 #define INF 0xfffffff #define PI acos (-1.0) #define EPS 1e-8 #define met(a, b) memset (a, b, sizeof (a)) typedef long long LL; int Hprim ; void Init () { for (int i=5; i<N; i+=4) { for (int j=5; j<N; j+=4) { if (i*j>=N) break; if (!Hprim[i] && !Hprim[j] && i*j%4==1) Hprim[i*j] = 1;///<span style="font-family: KaiTi_GB2312;font-size:18px; line-height: 26px;">H-semi-prime</span> else Hprim[i*j] = -1; } } int cnt = 0; for (int i=5; i<N; i++) { if (Hprim[i]==1) cnt++; Hprim[i] = cnt; } } int main () { int n; Init(); while (scanf ("%d", &n), n) { printf ("%d %d\n", n, Hprim ); } return 0; }
相关文章推荐
- Middle-题目80:200. Number of Islands
- 第10、11周项目2:存储班长信息的学生类(1)
- java8 maven install error: bad use of '>'
- oracle导入数据库报错:IMP-00019: 由于 ORACLE 错误 12899 而拒绝行 IMP-00003: 遇到 ORACLE 错误 12899
- 在内部存储写文件
- POJ-3281 Dining(最大流)
- ORACLE 11g EM 网页显示按钮上的文字为乱码
- Word一些功能的使用方法
- javascript中==和===的区别
- 1.ormlite 学习笔记
- JAVA学习笔记整理八(多线程)
- 地图(有界面 自定义大头针)
- JavaScript知识点总结(十六)之Javascript闭包(Closure)代码详解
- 余弦相似度
- 线程同步详解
- 属主 属组 其他 权限管理
- 数据仓库之启用cdc
- IBatis 批量插入数据
- 买书问题
- Middle-题目79:40. Combination Sum II