Uva 10780 Again Prime? No Time.(分解质因子)
题意:给你两个数m和n,问 n! 可以被 m^k 整除的k的最大值
思路:从这道我们可以想到n!末尾有多少个0的问题,让我们先想一下它的思想,我们找 n! 末尾有多少0,
实际上我们是在找n!中5的个数,为什么找 5 的个数,是因为若末尾要有0,就必须要找有几个10的倍数,
而10是由 2 5(ps:10=2*5)组成的,而2的数量足够多,所以我们只需要找5 的个数就行
我们在来看看这道题,题目要求求出可以被 m^k 整除的k的最大值,我们就可以找n!中 m 的个数,
根据正整数唯一分解定理,m 必然可以分成若干素数的乘积,假设 m=p1^k1*p2^k2;
我们找出n!中p1分子的个数 num1,再找出n!中p2分子的个数 num2
num2/k1 与 num2/k2 比较,哪个小,哪个就是 n!中 m 的个数,因为大的那个可以提供足够多的数量
代码:
#include <iostream>
#include <vector>
#include <cstring>
#include<fstream>
using namespace std; int main()
{
int t,m,n,tmp,c=;
int num[],many[];
int ans;
cin>>t;
while(t--)
{
vector <int> p;
memset(num,,sizeof(num));
memset(many,,sizeof(many));
cin>>m>>n;
tmp=m;
for(int i=; i*i<=tmp; i++)
{
if(tmp%i==)
{
p.push_back(i);
while(tmp%i==)
{
tmp=tmp/i;
many[i]++;
}
}
}
if(tmp>)
{
p.push_back(tmp);
many[tmp]++;
}
for(int i=; i<=n; i++)
{
for(int j=; j<p.size(); j++)
{
tmp=i;
while(tmp%p[j]==)
{
num[p[j]]++;
tmp=tmp/p[j];
}
}
}
ans=;
for(int i=; i<p.size(); i++)
{
int temp=num[p[i]]/many[p[i]];
if(ans>temp)
{
ans=temp;
}
}
cout<<"Case "<<c++<<":"<<endl;
if(ans)
cout<<ans<<endl;
else
cout<<"Impossible to divide"<<endl;
}
return ;
}
Uva 10780 Again Prime? No Time.(分解质因子)的更多相关文章
- 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 ...
- Alternate Task UVA - 11728 (暴力。。分解质因子)
题意: 输入一个正整数S,(S <= 1000)求一个最大的正整数N,使得N的所有正因子之和为S. 解析: ..求1000以内的所有数的正因子和 ...输出.. #include <io ...
- HDU 4497 GCD and LCM(分解质因子+排列组合)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4497 题意:已知GCD(x, y, z) = G,LCM(x, y, z) = L.告诉你G.L,求满 ...
- hdu6237 分解质因子
题意:给一堆石子,每次移动一颗到另一堆,要求最小次数使得,所有石子数gcd>1 题解:枚举所有质因子,然后找次数最小的那一个,统计次数时,我们可以事先记录下每堆石子余质因子 的和,对所有石子取余 ...
- NYOJ-476谁是英雄,分解质因子求约数个数!
谁是英雄 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 十个数学家(编号0-9)乘气球飞行在太平洋上空.当横越赤道时,他们决定庆祝一下这一壮举.于是他们开了一瓶香槟.不 ...
- Minimum Sum LCM UVA - 10791(分解质因子)
对于一个数n 设它有两个不是互质的因子a和b 即lcm(a,b) = n 且gcd为a和b的最大公约数 则n = a/gcd * b: 因为a/gcd 与 b 的最大公约数也是n 且 a/gcd ...
- Codeforces Round #828 (Div. 3) E2. Divisible Numbers (分解质因子,dfs判断x,y)
题目链接 题目大意 给定a,b,c,d四个数,其中a<c,b<c,现在让你寻找一对数(x,y),满足一下条件: 1. a<x<c,b<y<d 2. (x*y)%(a ...
- HDU 4135 Co-prime (容斥+分解质因子)
<题目链接> 题目大意: 给定区间[A,B](1 <= A <= B <= 10 15)和N(1 <=N <= 10 9),求出该区间中与N互质的数的个数. ...
- BNU 13259.Story of Tomisu Ghost 分解质因子
Story of Tomisu Ghost It is now 2150 AD and problem-setters are having a horrified time as the ghost ...
随机推荐
- 封装两个简单的Jquery组件
Jquery给我们提供了很大的方便,我们把他看成是一个公共库,以致在这个公共库上延伸出了很多Jquery插件:在项目过程中,有些插件总是不那么令人满意: 主要说两个项目用途: 1. 遮罩层,跟一般的 ...
- Java编程思想笔记(第二章)
第二章 一切都是对象 尽管Java是基于C++的,但相比之下,Java是一种更纯粹的面向对象程序设计语言. c++和Java都是杂合型语言(hybird language) 用引用(referenc ...
- Python3.4入门之ifelse错误解决方案
笔者用的是Python3.4 开始接触到ifelse语句 发现这样---C:\Users\Administrator>python e:\Python34\ifelse.py--去执行的时候老是 ...
- 7.29 DFS总结
7.29 黄昏时刻 (一) 全排列 建模: 给了数字n 代表从1-n 个数全排列 思路: 1. 输入n,如果n值为‘0’,则退出程序 2. vis[i] 保存 是否对第i个数字进行访问 3. df ...
- Dynamics CRM不发布JS调试
本博客已迁移至 http://www.krely.cn/ 上个项目做了一年多,大多是在做JS的开发,由于开发人数比较多,着实被坑的不轻.因为JS修改完成之后必须要发布,对于我们动辄几千行的JS的调 ...
- .NET/ASP.NETMVC Model元数据、HtmlHelper、自定义模板、模板的装饰者模式(一)
.NET/ASP.NETMVC Model元数据.HtmlHelper.自定义模板.模板的装饰者模式(一) 阅读目录: 1.开篇介绍 2.Model与View的使用关系(数据上下文DataContex ...
- Stimulsoft.Report.net报表简单实用
1 using System; using System.Collections.Generic; using System.Linq; using System.Web; using System. ...
- [转]iOS: About diagnostic capabilities
Source:http://support.apple.com/kb/HT6331 Each of these diagnostic capabilities requires the user to ...
- SOCKET网络编程5
SOCKET网络编程快速上手(二)——细节问题(5)(完结篇) 6.Connect的使用方式 前面提到,connect发生EINTR错误时,是不能重新启动的.那怎么办呢,是关闭套接字还是直接退出进程呢 ...
- Asp.net 插入或更改查询字符串
string InsertOrUpdateQueryStringItem(string key, string value) { if (Request.QueryString.HasKeys()) ...