BestCoder Round #84 &&HDU 5750 Dertouzos 【数论+暴力】
来源:互联网 发布:世纪桥软件 编辑:程序博客网 时间:2024/04/30 21:06
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=5750
—————————————–.
Dertouzos Accepts: 76 Submissions: 1357
Time Limit: 7000/3500 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)
问题描述
正整数
Peter给你两个正整数
输入描述
输入包含多组数据, 第一行包含一个整数
第一行包含两个整数
输出描述
对于每组数据, 输出一个整数.
输入样例
9
10 2
10 3
10 4
10 5
10 6
10 7
10 8
10 9
100 13
输出样例
1
2
1
0
0
0
0
0
4
—————————————————-.
题目大意: 自己看
解题思路:
首先要明确的是 N*M的最大因子为N的时候只有M为素数 且M<=N的最小素因子的时候 ;
试想
如果M不是素数那么M=X*Y,N*M的因子中 就多了N*X和N*Y 均比N大 所以不成立
如果M>p1 (假设所有的ai均为1)那么N*M的因子中 就多了
也不行
所以先打出sqrt(1e9)内的所有素数
然后暴力找即可
for(int i=0;i<k;i++) { if(d*prime[i]>=n) break; sum++; if(d%prime[i]==0) break; }
k值不到1e4 加上题目3500ms 就能过了
附上本题代码
———————————————————-.
#include <iostream>#include <algorithm>#include <cmath>#include <cstdio>#include <cstring>using namespace std;#define LL __int64const LL MOD = 1e9+7;const LL INF = 0x3f3f3f3f;int Is_or[101010];int prime[10000];int k=0;void Prime(){ memset(Is_or,1,sizeof(Is_or)); int n=100000; for(int i=2;i<=n;i++) if(Is_or[i]) { prime[k++]=i; for(int j=i+i;j<=n;j+=i) Is_or[j]=0; } return ;}int primeproper(int num,int n){ int sum=0; for(int i=0;i<k;i++) { if(num*prime[i]>=n) break; sum++; if(num%prime[i]==0) break; } return sum;}int main(){ Prime(); printf("%d %d ",prime[k-1],prime[4229]); printf("%d\n",k); int t; scanf("%d",&t); while(t--) { int n,m; scanf("%d%d",&n,&m); int d = primeproper(m,n); printf("%d\n",d); } return 0;}
- BestCoder Round #84 &&HDU 5750 Dertouzos 【数论+暴力】
- HDU 5750 BestCoder Round #84 Dertouzos (素数筛选)
- BestCoder Round #84 Dertouzos
- BestCoder Round #84 1004 hdu 5750 数论
- BestCoder Round #84 1004Dertouzos
- hud 5750 Dertouzos (数论+暴力)
- HDU 5750 Dertouzos(数论)
- HDU 5750 Dertouzos (数论)
- hdu 5750 Dertouzos(数论,打表,暴力)
- HDU 5750 Dertouzos(数论)
- hdu 5750 Dertouzos(数论)
- 【HDOJ】【BestCoder Round #84】1004 Dertouzos
- hdu 5750 Dertouzos(数论:质数枚举)
- HDU 5749 BestCoder Round #84 Colmerauer(暴力贡献)
- HDU 5750 Dertouzos
- hdu 5750 Dertouzos
- HDU-5750 Dertouzos
- HDU 5750 Dertouzos
- 文学摘录
- 程序员生存定律--成长路上常见的坑
- linux和windows 比较 ubuntu centos mac windows
- 【Java源码分析】集合框架-Collections工具类-Arrays工具类
- JNI_OnLoad与init_array下断方法整理
- BestCoder Round #84 &&HDU 5750 Dertouzos 【数论+暴力】
- 闲杂小记(二)
- PAT 1015Graduate Admission (30)修改后
- MyCAT简易入门
- 3.1.1内存管理的概念
- Linux中设置服务自启动的三种方式
- 我的第一篇csdn博客
- 关键字
- Android ListView几种Adapter用法简介