nbu 2296 素数之积
来源:互联网 发布:数据清洗步骤 编辑:程序博客网 时间:2024/05/08 05:10
题目链接:http://acm.nbu.edu.cn/v1.0/Problems/Problem.php?pid=2296
题目大意:求1~m(1<=m<=10000)中有几个数可以表示成p*q的形式,且p,q均为质数(p可以等于q).
题目思路:
第一种方法:纯暴力(时间4000MS).
第二种方法:先把筛出质数,然后利用dp[i]=dp[i-1]+{所有p*q>i-1的个数},O(10000)的复杂度预处理出所有答案.
题目大意:求1~m(1<=m<=10000)中有几个数可以表示成p*q的形式,且p,q均为质数(p可以等于q).
题目思路:
第一种方法:纯暴力(时间4000MS).
第二种方法:先把筛出质数,然后利用dp[i]=dp[i-1]+{所有p*q>i-1的个数},O(10000)的复杂度预处理出所有答案.
代码:
#include <stdlib.h>#include <string.h>#include <stdio.h>#include <ctype.h>#include <math.h>#include <time.h>#include <stack>#include <queue>#include <map>#include <set>#include <vector>#include <string>#include <iostream>#include <algorithm>using namespace std;#define ll __int64//#define ll long long#define lson l,mid,rt<<1#define rson mid+1,r,rt<<1|1#define middle l+r>>1#define INF 0x3F3F3F3F#define esp (1e-8)#define MOD 100000007#define type int//const double pi=acos(-1.0);const int M=10000 +5;type min(type x,type y){return x<y? x:y;}type max(type x,type y){return x>y? x:y;}void swap(type& x,type& y){type t=x;x=y;y=t;}int T,cas=0;int m,f[M],ans[M];void select(){memset(f,0,sizeof(f));int MM=sqrt(1.0*M),i,j,k;for(i=3;i<=MM;i+=2) if(!f[i])for(j=i;i*j<=M;j+=2)f[i*j]=1;for(i=4;i<=M;i+=2) f[i]=1;ans[1]=ans[2]=ans[3]=0;for(i=4;i<=M;i++){ans[i]=ans[i-1];for(j=2;j<=(i>>1);j++)if(!f[j]){for(k=i/j;k>=j;k--)if(!f[k]){if(j*k<=i-1) break;ans[i]++;}}}};void run(){scanf("%d",&m);printf("%d\n",ans[m]);}int main(){//freopen("1.in","r",stdin);//freopen("1.out","w",stdout);//run();select();for(scanf("%d",&T),cas=1;cas<=T;cas++) run();//while(~scanf("%d",&n) && n) run();//system("pause");return 0;}
- nbu 2296 素数之积
- nbu 2432 羊群之防
- 素数之积
- NBU网络备份大全之oracle系统冷备份
- NBU网络备份大全之oracle系统冷备份
- NBU网络备份大全之oracle系统热备份
- NBU网络备份大全之oracle系统热备份
- NBU网络备份大全之oracle系统热备份
- NBU网络备份大全之oracle系统冷备份
- nbu deassign
- NBU OJ1196
- NBU基础知识
- NBU 1763
- 5.1趣味素数之素数
- Euclid NBU 1844
- NBU权限控制
- symantec NBU status 96
- nbu 2429 Transfer stations
- CodeBlock使用技巧
- 课程表
- ASCII码表
- 清除Windows共享登录的用户名密码
- 自己写一个数组,同样也可以写一个容器
- nbu 2296 素数之积
- SQL触发器
- Unity3D GUI—打字机风格脚本
- ASP.Net 获取当前时间
- zookeeper学习系列篇
- 命令行快速进阶(三)将命令结合使用combining commands
- 一个工程师告诉你为什么中国出豆腐渣工程
- bat批处理 %~dp0
- 第一个项目的感受