UVA——10139(数论)(挑战编程题目)
来源:互联网 发布:软件销售分成比例 编辑:程序博客网 时间:2024/04/29 15:42
题目地址:
http://uva.onlinejudge.org/index.phpoption=com_onlinejudge&Itemid=8&page=show_problem&category=13&problem=1080&mosmsg=Submission+received+with+ID+12122020
或者:http://www.programming-challenges.com/pg.php?page=downloadproblem&probid=110704&format=html
#include <iostream>#include <cmath>#include <cstring>#include <algorithm>#include <cstdio>#define INF 0xfffffffusing namespace std;int MOD; int prime[20000];int flag[100010];long long q;void init(){memset(flag,0,sizeof(flag)); //筛选求素数,只求1—sqrt(2^31)内的就可以。long long i,j; q=0;for(i=2;i<100005;i++) { if(flag[i]) continue; prime[q++]=i; for(j=i*i;j<100005;j+=i) //在这j=i*i可能会越界奥,最好还是用long long flag[j]=1; }}int main(){int i,j,k,t;long long m,n,gg;init();int num,count,mid;while(cin>>n>>m) { gg=m; if(m==0||(n==0&&m>1)) { cout<<m<<" does not divide "<<n<<"!"<<endl;//特殊情况特判 continue; } if(m<=n) { cout<<gg<<" divides "<<n<<"!"<<endl; continue; } int sign=0; for(i=0;prime[i]<=m&&m>1&&i<q;i++) { count=0; if(m%prime[i]==0) { mid=prime[i]; count++; m/=mid; while(m%mid==0) { count++; m/=mid; } num=0; while(mid<=n) { num+=(n/mid),mid*=prime[i]; //求阶乘下的素因子个数,有公式的 if(num>=count) break; } if(num<count) { sign=1; break; } } } if(sign) { cout<<gg<<" does not divide "<<n<<"!"<<endl; continue; } if(m>1) //若m大于1,则这个数一定是素数,即原来的m含有这个素因子。 { if(m<=n) cout<<gg<<" divides "<<n<<"!"<<endl; else cout<<gg<<" does not divide "<<n<<"!"<<endl; } else if(!sign) cout<<gg<<" divides "<<n<<"!"<<endl; }return 0;}
- UVA——10139(数论)(挑战编程题目)
- UVA——10090(数论之线性方程)(挑战编程题目)
- 数论 - 挑战编程
- UVA 10139 Factovisors(数论)
- UVA 题目1521 GCD Guessing Game(数论+贪心)
- 挑战编程题目2(Minesweeper)附源…
- UVA 10110(数论)
- UVA 138(数论)
- 编程挑战题目--倒水
- (挑战编程_2_2)
- 编程挑战(一)
- uva 1388 - Graveyard(数论)
- uva 11889 - Benefit(数论)
- UVA 11889 - Benefit(数论)
- UVa 11889 - Benefit (数论)
- uva 1388 - Graveyard(数论)
- 编程挑战——回文数(不完全实现)
- Java并发编程(一)——挑战
- shell判断参数是否为数字
- 黑马程序员——Java学习笔记(六)
- CodeForces 126B - Password 利用KMP
- 巴哥奔
- 仿百度文库
- UVA——10139(数论)(挑战编程题目)
- “十天一本书”之15—《公司是最好的学校》感慨
- hdu 1542 线段树+扫描线+离散化~~
- 黑马程序员——Java学习笔记(七)
- python文件锁
- 2013腾讯编程马拉松初赛第一场(3月21日) 小Q系列故事——电梯里的爱情
- 为学日益,为道日损
- POJ 1285 - Combinations, Once Again 泛化背包
- MySql 时间日期函数