博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
poj 3292 Semi-prime H-numbers 素数变形+打表+筛选法
阅读量:4113 次
发布时间:2019-05-25

本文共 1649 字,大约阅读时间需要 5 分钟。

题意:1,5,9,13....这些4*n+1数字组成了一个全集,输入一个数字,求<=该数字能够被两个”素数“相乘表示的
数字的个数,比如25=5*5,45=5*9,,(9也是”素数“)
#include 
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std; #define MM(a) memset(a,0,sizeof(a)) typedef long long ll; typedef unsigned long long ULL; const int mod = 1000000007; const double eps = 1e-10; const int infpi=acos(-1); const int maxn=1e6+1; int num[maxn],flag[maxn]; void init() { for(int i=5;i<=maxn;i+=4) for(int j=5;j<=maxn;j+=4) { if((ll)(i*j)>maxn) break; if(flag[i]||flag[j]) continue; flag[i*j]=1; } int cnt=0; for(int i=2;i<=maxn;i++) { if(flag[i]) cnt++; num[i]=cnt; } } int main() { init(); int n; while(cin>>n&&n) printf("%d %d\n",n,num[n]); return 0; }
错因分析:没有好好体会筛选法的实质,这道题能很好的训练队筛选法的理解;
#include 
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std; #define MM(a) memset(a,0,sizeof(a)) typedef long long ll; typedef unsigned long long ULL; const int mod = 1000000007; const double eps = 1e-10; const int infpi=acos(-1); const int maxn=1e6+1; int num[maxn+5],flag[maxn+5]; void init() { for(int i=5;i<=maxn;i+=4) for(int j=5;j<=maxn;j+=4) { ll temp=i*j; if(temp>maxn) break; if(flag[i]==0&&flag[j]==0)//0代表素数,1即是所求,-1不是所求 flag[temp]=1; else flag[temp]=-1; } int cnt=0; for(int i=0;i<=maxn;i++) { if(flag[i]==1) cnt++; num[i]=cnt; } } int main() { init(); int n; while(cin>>n&&n) printf("%d %d\n",n,num[n]); return 0; }

转载地址:http://avgsi.baihongyu.com/

你可能感兴趣的文章
JAVA八大经典书籍,你看过几本?
查看>>
《读书笔记》—–书单推荐
查看>>
【设计模式】—-(2)工厂方法模式(创建型)
查看>>
有return的情况下try catch finally的执行顺序(最有说服力的总结)
查看>>
String s1 = new String("abc"); String s2 = ("abc");
查看>>
JAVA数据类型
查看>>
Xshell 4 入门
查看>>
SoapUI-入门
查看>>
Oracle -常用命令
查看>>
JAVA技术简称
查看>>
ORACLE模糊查询优化浅谈
查看>>
2016——个人年度总结
查看>>
2017——新的开始,加油!
查看>>
【Python】学习笔记——-6.2、使用第三方模块
查看>>
【Python】学习笔记——-7.0、面向对象编程
查看>>
【Python】学习笔记——-7.1、类和实例
查看>>
【Python】学习笔记——-7.2、访问限制
查看>>
【Python】学习笔记——-7.3、继承和多态
查看>>
【Python】学习笔记——-7.5、实例属性和类属性
查看>>
Linux设备模型(总线、设备、驱动程序和类)之四:class_register
查看>>