UVA_10139
2018-06-17 21:35:19来源:未知 阅读 ()
The factorial function, n! is de?ned thus for n a non-negative integer:
0! = 1 n! = n×(n?1)! (n > 0)
We say that a divides b if there exists an integer k such that k×a = b
Input
The input to your program consists of several lines, each containing two non-negative integers, n and m, both less than 231.
Output
For each input line, output a line stating whether or not m divides n!, in the format shown below.
Sample Input
6 9
6 27
20 10000
20 100000
1000 1009
Sample Output
9 divides 6!
27 does not divide 6!
10000 divides 20!
100000 does not divide 20!
1009 does not divide 1000!
m能否被n!整除,题目并不难,细节扣的多。分解m的质因子,然后通过勒让德的结论就能过。
while(n){
n/=x;
sum+=n;
}
被英语语法gank了一波,还要注意的是 0和1 也能整除。
#include<iostream> #include<cstring> #include<cmath> #include<cstdio> #define N 1000010 using namespace std; int vis[N]; int prime[N]; int pn=0,flag; void gp() { for (int i = 2; i <= N; i++) { if (vis[i]) continue; prime[pn++] = i; for (int j = i; j <= N; j += i) vis[j] = 1; } } int lrd(int n,int x) { int sum=0; while(n) { n/=x; sum+=n; } return sum; } int main() { gp(); //cout<<prime[pn-1]<<endl; int m,n; while(~scanf("%d%d",&n,&m)) { if((n>=m)||(n==0&&m==1)) { printf("%d divides %d!\n",m,n); continue; } flag=0; int x=m; for(int i=0;prime[i]*prime[i]<=m;i++) { int cnt=0; while(x%prime[i]==0) { x/=prime[i]; cnt++; } if(cnt) { int res=lrd(n,prime[i]); if(res<cnt) flag=1; } } if((x<=n&&!flag)) printf("%d divides %d!\n",m,n); else printf("%d does not divide %d!\n",m,n); } }
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:数字特征值
下一篇:洛谷P2660 zzc 种田
- [Uva1637][DFS][记忆化] 纸牌游戏 Double Patience 2020-03-06
- SGU 132 Another Chocolate Maniac 2020-03-06
- 协程的原理(Coroutine Theory) 2020-02-23
- 二叉堆(2)LeftistHeap 2020-02-19
- Boost C++ 库 中文教程(全) 2019-12-19
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash