uva10780(分解质因数)
可以直接用高精度来暴力求。
也可以不用高精度:
把m分解质因数,记录每个因数和它的次数。然后计算每个因数在n的阶乘里出现了多少次,再把这个次数除以它在m中的次数,就是可能的k值。取最小的k。
- #include<iostream>
- #include<cstdio>
- #include<cstdlib>
- #include<cstring>
- #include<cmath>
- #include<map>
- #include<set>
- #include<vector>
- #include<algorithm>
- #include<stack>
- #include<queue>
- using namespace std;
- #define INF 1000000000
- #define eps 1e-8
- #define pii pair<int,int>
- #define LL long long int
- int m,n,k,T;
- int prime[],vis[];
- void getprime()
- {
- int num=;
- for(int i=;i<;i++)
- {
- if(vis[i]==) prime[num++]=i;
- for(int j=i*i;j<;j+=i)
- {
- if(j%i==) vis[j]=;
- }
- }
- }
- int main()
- {
- //freopen("in6.txt","r",stdin);
- //freopen("out.txt","w",stdout);
- getprime();
- scanf("%d",&T);
- for(int cas=;cas<=T;cas++)
- {
- scanf("%d%d",&m,&n);
- k=INF;
- vector<pii>zhi;
- for(int i=;prime[i]<=m;i++)
- {
- int num=;
- while(m%prime[i]==)
- {
- num++;
- m/=prime[i];
- }
- if(num)
- zhi.push_back(make_pair(prime[i],num));
- }
- for(unsigned int i=;i<zhi.size();i++)
- {
- int t=zhi[i].first,num=;
- for(int j=n;j>=;j--)
- {
- int jj=j;
- while(jj%t==)
- {
- num++;
- jj/=t;
- }
- }
- //cout<<'k'<<num<<endl;
- k=min(k,num/(zhi[i].second));
- }
- printf("Case %d:\n",cas);
- if(k)
- printf("%d\n",k);
- else
- printf("Impossible to divide\n");
- }
- //fclose(stdin);
- //fclose(stdout);
- return ;
- }
uva10780(分解质因数)的更多相关文章
- uva10791 uva10780(分解质因数)
http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&p ...
- java分解质因数
package test; import java.util.Scanner; public class Test19 { /** * 分析:对n进行分解质因数,应先找到一个最小的质数k * 最小 ...
- 程序设计入门——C语言 第6周编程练习 1 分解质因数(5分)
1 分解质因数(5分) 题目内容: 每个非素数(合数)都可以写成几个素数(也可称为质数)相乘的形式,这几个素数就都叫做这个合数的质因数.比如,6可以被分解为2x3,而24可以被分解为2x2x2x3. ...
- 【python】将一个正整数分解质因数
def reduceNum(n): '''题目:将一个正整数分解质因数.例如:输入90,打印出90=2*3*3*5''' print '{} = '.format(n), : print 'Pleas ...
- light oj 1236 分解质因数
题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=70017#problem/H 题意:求满足1<=i<=j<=n ...
- 【基础数学】质数,约数,分解质因数,GCD,LCM
1.质数: 质数(prime number)又称素数,有无限个.一个大于1的自然数,除了1和它本身外,不能整除以其他自然数(质数),换句话说就是该数除了1和它本身以外不再有其他的因数. 2.约数: 如 ...
- 将n(0<=n<=10000)的阶乘分解质因数,求其中有多少个m
给定两个数m,n,其中m是一个素数. 将n(0<=n<=10000)的阶乘分解质因数,求其中有多少个m. 输入 第一行是一个整数s(0<s<=100),表示测试数据的组数 随后 ...
- cdoj 1246 每周一题 拆拆拆~ 分解质因数
拆拆拆~ Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/problem/show/1246 Descri ...
- hdu 5428 The Factor 分解质因数
The Factor Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://bestcoder.hdu.edu.cn/contests/contest ...
随机推荐
- Django基础(二)_Ajax、csrf伪站请求
什么是json? 定义: JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式.它基于 ECMAScript (w3c制定的js规范)的一个子 ...
- Linux系统通过console口连接交换机
一.安装minicomUbuntu安装:sudo apt-get install minicom.centos安装:yum install minicom二.配置minicomUbuntu输入:sud ...
- android studio的安装和卸载
安装: (待补充) 卸载: (如何彻底卸载才能达到第二次安装不受第一次安装失败的影响呢?) 1.找到安装目录,运行卸载文件.(不用清注册表,这是和卸载mysql的不同,只要把相关的文件夹,文件清楚即可 ...
- yii2弹出层
bootstrap http://getbootstrap.com/javascript/#modals https://github.com/lichunqiang/yii2-sweet-submi ...
- Understanding When to use RabbitMQ or Apache Kafka
https://content.pivotal.io/rabbitmq/understanding-when-to-use-rabbitmq-or-apache-kafka How do humans ...
- MQ,互联网架构解耦神器
一个架构常识:当调用方需要关心执行结果,通常使用RPC调用. ret = PassportService::userAuth(name, pass); switch(ret){ case(YES) ...
- jsp导出
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...
- 019_Map Task数目的确定和Reduce Task数目的指定
注意标题:Map Task数目的确定和Reduce Task数目的指定————自然得到结论,前者是后者决定的,后者是人为指定的.查看源码可以很容易看懂 1.MapReduce作业中Map Task数目 ...
- 【HackerRank】 Chocolate Feast
Little Bob loves chocolates, and goes to the store with $N money in his pocket. The price of each ch ...
- python日志操作logging
步骤: 1.定义一个日志收集器 my_logger = logging.getLogger("kitty") 2.设定级别.默认为warning:debug,,info,error ...