poj2649 Factovisors 质因数分解
来源:互联网 发布:中国手工艺品出口数据 编辑:程序博客网 时间:2024/04/28 06:30
需注意,判定的时候应该是分解出一个m的质因子就比较一次,而不是分解完后再比较,细节上处理要注意,比如当pr[i]不属于m的质因子时直接跳过,这样当m为一个大质数的时候不至于runtimr error
#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>#define maxn 100001using namespace std;bool valid[maxn];int pr[100001],coun=0,n,m;void Init(){ valid[1]=1; for(int i=2;i<maxn;i++) {if(!valid[i]) pr[coun++]=i;for(int j=2;i*j<maxn;j++) valid[i*j]=1; }}bool Check(int num,int counter){ int coun=0; for(int i=num;i<=n;i++){ int a=i; while(a%num==0){ a/=num; coun++; } if(coun>=counter){ return true; } } return false;}int main(){ Init(); while(~scanf("%d%d",&n,&m)){bool ans=1;int s=m,now=0;if(m==0){ printf("0 does not divide %d!\n",n); continue;}if(m<=n){ printf("%d divides %d!\n",m,n); continue;}while(now<coun){ int num=0; while(s%pr[now]==0){ s/=pr[now]; num++; } if(num){ if(!Check(pr[now],num)){ ans=0; break; } } if(s==1)break; now++;}if(ans&&s<=n) printf("%d divides %d!\n",m,n);else printf("%d does not divide %d!\n",m,n); } return 0;}
0 0
- poj2649 Factovisors 质因数分解
- 分解质因数
- 分解质因数
- 质因数分解
- 分解质因数
- 质因数分解
- 分解质因数
- 分解质因数
- 质因数分解
- 分解质因数
- 分解质因数
- 分解质因数
- 分解质因数
- 分解质因数
- 分解质因数
- 分解质因数
- 分解质因数
- 质因数分解
- C/C++浮点数在内存中的存储方式
- Linux下默认RPM安装路径
- 【Cocos2d-x 021】 xml解析
- 安卓-进度处理对话框(ProgressDialog)
- ubuntu14.04安装搜狗输入法
- poj2649 Factovisors 质因数分解
- IOS开发- OC 中数组排序
- Drupal 相关文章介绍
- javascript处理时间间隔
- 设计模式六大原则(5):迪米特法则
- eclipse的checkstyle配置
- ssh over http
- 真机测试报错ERROR/AndroidRuntime(1805): java.lang.Runtim
- 我们看的是文章,读的却是成长