POJ 3292 数论 类似素数筛
2016-01-26 08:39
288 查看
POJ 3292 数论 类似素数筛
题意:一个定义的类型数 :是A-number 是模 4 余 1的数
A-prime h是只能由 1* h((即只能是1*A-number得到h ) 不能由其他的A-number数相乘得到)得到的数 (和素数没关系)
A-semis-primes 数是由且只能由 两个 A-prime数相乘得到
求一个数中存在多少 A-semis-primes
类似素数筛的做法
题意:一个定义的类型数 :是A-number 是模 4 余 1的数
A-prime h是只能由 1* h((即只能是1*A-number得到h ) 不能由其他的A-number数相乘得到)得到的数 (和素数没关系)
A-semis-primes 数是由且只能由 两个 A-prime数相乘得到
求一个数中存在多少 A-semis-primes
类似素数筛的做法
#include<cstdio> #include<cstring> #include<cstdlib> #include<cmath> #include<iostream> using namespace std; const int Max=1000010; int vis[1000010]; int sum[1000010]; int main() { int n,t; memset(vis,0,sizeof(vis)); for(int i=5;i<=1001;i+=4) { if(!vis[i]) for(int j=5;(t=j*i)<=Max;j+=4) { if(!vis[j]) <span id="transmark"></span> vis[t]=1; else //存在多个A-prime两两相乘的情况 vis[t]=-1; } } sum[0]=0; for(int i=1;i<1000010;i++) sum[i]=sum[i-1]+(vis[i]==1); while(~scanf("%d",&n),n) printf("%d %d\n",n,sum ); return 0; }
相关文章推荐
- Java 小样例:图书馆课程设计(Java 8 版)
- TD-SCDMA风雨20年:中国3G标准的由来以及国家通信战略
- winpcap 为什么会抓到超过1500byte的包?
- vsftpd
- Eclipse/Myeclipse 开发项目技巧
- 数学建模MCM/ICM——LaTeX排版
- 开发人员获取苹果技术支持
- 多线程
- stm8l051 halt之后外部中断唤醒问题
- Oracle 最简单的随系统自己主动启动
- Matlab运算符与运算
- 1.26作业
- css字体样式
- vi 快捷键积累
- 学习java之内部类使用以及链式编程
- Android自动调用软键盘
- ImageLoader1
- Spark shuffle:hash和sort性能对比
- Python - 杨辉三角
- SQL Server 函数的使用 Function