uva 10780
曾经做过一个类似的 求n!中有多少个质因子m
这里有一个结论 k = n/m+n/(m^2)+n/(m^3)+....
int getnum(int n, int m)
{
int sum = 0;
while(n)
{
sum += n/m;
n /= m;
}
return sum;
}
然后这个题就比较容易了
/*************************************************************************
> Author: xlc2845 > Mail: xlc2845@gmail.com
> Created Time: 2013年10月24日 星期四 16时15分17秒
************************************************************************/ #include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <vector>
#include <cstring>
#include <algorithm>
#define maxn 210
#define INF 0x7fffffff using namespace std;
bool flag[5010];
int prime[5010];
void GetPrime()
{
memset(flag, 0, sizeof(flag));
int p = 0;
for(int i = 2; i < 5001; i++)
{
if(!flag[i])
{
prime[p++] = i;
for(int j = i+i; j < 5001; j+=i)
flag[j] = 1;
}
}
} int getnum(int n, int m)
{
int sum = 0;
while(n)
{
sum += n/m;
n /= m;
}
return sum;
} int main()
{
GetPrime();
int t,n,m,ca = 1;
scanf("%d",&t);
while(t--)
{
int p = 0, ans = INF;
scanf("%d%d",&m,&n);
while(m > 1)
{
int k = 0;
while(m % prime[p] == 0)
{
k++;
m /= prime[p];
}
if(k)
ans = min(getnum(n, prime[p])/k, ans);
p++;
}
printf("Case %d:\n",ca++);
if(ans)
printf("%d\n",ans);
else
puts("Impossible to divide");
}
return 0;
}
uva 10780的更多相关文章
- UVA 10780 Again Prime No Time.(数学)
给定两个整数m和n,求最大的k使得m^k是n!的约数 对m质因子分解,然后使用勒让德定理求得n!包含的质数p的阶数,min(b[i] / a[i])即为结果k, 若为0无解 #include<c ...
- UVA 10780 - Again Prime? No Time.
题目链接 思路好想,注意细节.错了很多次. #include <cstdio> #include <cstring> #include <string> #incl ...
- 数论 UVA 10780
数论题目.有关内容:整数质因数分解,N的阶乘质因数分解,整除的判断. 这道题的题意是给你两个数n.m,要求你求出n!所能整除的m^k的最大值的k是多少. 由于数据范围:1<m<5000,1 ...
- UVA 10780 Again Prime? No Time. 分解质因子
The problem statement is very easy. Given a number n you have to determine the largest power of m,no ...
- UVa 10780 (质因数分解) Again Prime? No Time.
求mk整除n!,求k的最大值. 现将m分解质因数,比如对于素数p1分解出来的指数为k1,那么n!中能分解出多少个p1出来呢? 考虑10!中2的个数c:1~10中有10/2个数是2的倍数,c += 5: ...
- Uva 10780 Again Prime? No Time.(分解质因子)
题意:给你两个数m和n,问 n! 可以被 m^k 整除的k的最大值 思路:从这道我们可以想到n!末尾有多少个0的问题,让我们先想一下它的思想,我们找 n! 末尾有多少0, 实际上我们是在找n!中5的个 ...
- Again Prime? No Time. UVA - 10780(质因子分解)
m^k就是让m的每个质因子个数都增加了k倍 求m的质因子 在n!中增加了多少倍就好了,因为m^k 表示每一个质因子增加相同的倍数k 所以我们需要找到增加倍数最小的那个..短板效应 其它质因子多增加 ...
- UVA - 10780 唯一分解定理
白书P171 对m,n!分解,质因子指数取min #include<iostream> #include<algorithm> #include<cstdio> # ...
- UVA数学入门训练Round1[6]
UVA - 11388 GCD LCM 题意:输入g和l,找到a和b,gcd(a,b)=g,lacm(a,b)=l,a<b且a最小 g不能整除l时无解,否则一定g,l最小 #include &l ...
随机推荐
- 利用ExpandableListView和gridview 显示可展开折叠菜单导航
这篇随身笔带来的是结合聚合数据“菜谱大全”做的一个菜谱可折叠一级+二级列表. 先发来一些截图一睹为快吧. ExpandableListView 可用于折叠型菜单列表,其布局主要通过getGroupVi ...
- (Android)View.getHeight或getWidth为0时的一些解决方案
在Android开发过程中,经常需要动态的更改View的大小,有些View的大小可能需要根据其他View的大小来设定,或者你需要得到一些View的大小来进行某项操作,但是有可能你需要在onCreate ...
- php中preg_match用户名正则实例
例子,字母.数字和汉字 代码如下 复制代码 if(preg_match("/[ '.,:;*?~`!@#$%^&+=)(<>{}]|]|[|/|\|"||/& ...
- Oracle 一些操作
Achivelog ============================ alter system set db_recovery_file_dest='F:\ORACLE\recovery_ar ...
- Windows7下安装搭建play框架
作者:Sungeek 出处:http://www.cnblogs.com/Sungeek/ 欢迎转载,也请保留这段声明.谢谢! 1.首先官网下载play的解压包 https://playframewo ...
- Java权限讲解
Java访问权限就如同类和对象一样,在Java程序中随处可见. Java的访问权限,根据权限范围从大到小为:public > protected > package > privat ...
- 关于fputs和fgets的几个细节
C语言中两个标准IO fputs和fgets都是针对行来进行数据的读取的!这里关于这两个IO函数我有几个小细节想在这里和大家分享一下,希望能够对大家产生帮助! 首先贴上这两个函数的函数声明,下面以这两 ...
- 上传图片(基于zepto.js)
效果如下: <div class="otherPic"> <div id="showOtherImage"></div> & ...
- DTCMS获取栏目子类
<%set DataTable categoryList=get_category_child_list(channel,0)%> <%foreach(DataRow cdr in ...
- DTCMS栏目首页,循环输出子栏目和新闻
<%set DataTable categoryList=get_category_child_list(channel,0)%> <%foreach(DataRow cdr in ...