题意:

给两个数,lll 和 ggg,为x , y , z,的最小公倍数和最大公约数,求出x , y , z 的值有多少种可能性

思路:

将x , y , z进行素因子分解

素因子的幂次
x a1 a2 a3 a4
y b1 b2 b3 b4
z c1 c2 c3 c4
gcd min(a1,b1,c1) min(a2,b2,c3)…
lcm max(a1,b1,c1) max(a2,b2,c3)…

第一组样例:

6=21 * 31

72= 23 * 32

最大公约数和最小公倍数约分得 12=22 * 31(是否约分并不重要,幂次相减就可以了),设最大公约数为1,最小公倍数为12

设 x为1 ,y=12,也就是

素因子的幂次
x a1=0, a2 =0
y b1 = 2 , b2=1
z c1=0~2 , c2= 0~1

将素因子按列对齐,当出现两个幂次相等时,排列组合为3,当三个幂次都不相等时,排列组合为6,

上述例子c1的范围是0~2,当c1=0和c1=2时合并为1个6,所以是2 * 6,c2=1和c2=0合并为一个6,所以是1 * 6,根据两个素因子相乘,得出2* 6 * 1*6。

#include<algorithm>
#include<stdio.h>
#include<map>
#include<vector>
using namespace std;
int main()
{ int t,n,m,g,l,acc;
scanf("%d",&t);
while(t--)
{
struct
{
vector<int>e;
map<int,int>mp;
} gcd,lcm; scanf("%d%d",&g,&l);
if(l%g)//一组数的最大公约数和最小公倍数肯定能整除
{
printf("0\n");
continue;
}
acc=l/g;
int ans=1;
for(int i=2;; i++)
{
if(acc%i==0)
{
int t=0;
while(acc%i==0)
{
acc=acc/i;
t++;
}
ans=ans*6*t;
}
if(acc==1)
break;
}
printf("%d\n",ans);
}
return 0;
}

HDU 4497 GCD and LCM 素因子分解+ gcd 和 lcm的更多相关文章

  1. hdu 4497 GCD and LCM 数学

    GCD and LCM Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=4 ...

  2. 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,求满 ...

  3. GCD and LCM HDU 4497 数论

    GCD and LCM HDU 4497 数论 题意 给你三个数x,y,z的最大公约数G和最小公倍数L,问你三个数字一共有几种可能.注意123和321算两种情况. 解题思路 L代表LCM,G代表GCD ...

  4. 数论——算数基本定理 - HDU 4497 GCD and LCM

    GCD and LCM Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65535/65535 K (Java/Others)Total ...

  5. HDU 4497 GCD and LCM (数论)

    题意:三个数x, y, z. 给出最大公倍数g和最小公约数l.求满足条件的x,y,z有多少组. 题解:设n=g/l n=p1^n1*p2^n2...pn^nk (分解质因数 那么x = p1^x1 * ...

  6. HDU 4497 GCD and LCM (合数分解)

    GCD and LCM Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65535/65535 K (Java/Others)Total ...

  7. HDU 4497 GCD and LCM(数论+容斥原理)

    GCD and LCM Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65535/65535 K (Java/Others)Total ...

  8. hdu 4497(排列组合+LCM和GCD)

    GCD and LCM Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65535/65535 K (Java/Others)Total ...

  9. GCD and LCM HDU - 4497(质因数分解)

    Problem Description Given two positive integers G and L, could you tell me how many solutions of (x, ...

随机推荐

  1. linux入门系列16--文件共享之Samba和NFS

    前一篇文章"linux入门系列15--文件传输之vsftp服务"讲解了文件传输,本篇继续讲解文件共享相关知识. 文件共享在生活和工作中非常常见,比如同一团队中不同成员需要共同维护同 ...

  2. git指令-添加远程仓库

    git指令-添加远程仓库 首先在GitHub上创建属于你自己的远程仓库:例如我创建的远程仓库mybatis用于我最近保存的mybatis代码 目前,在GitHub上的这个learngit仓库还是空的, ...

  3. Go coding in go way(用Go的思维去coding)

    本文是Tony Bai在2017年第三届GopherChina大会上所作,来源如下 https://tonybai.com/2017/04/20/go-coding-in-go-way/ 一.序 今天 ...

  4. Python知识点 - Xpath提取某个标签,需要转换为HTML。

        # lxml转Html from lxml import etree from HTMLParser import HTMLParser def lxml_to_html(text:etree ...

  5. 检测js对象是不是数组类型?

    面试时候被人问如何检测一个未知变量是不是数组类型,丢脸啊,老祖宗的脸都丢没了,这都不会,回家啃书本去吧!!! var a = [];方法一:Array.isArray([])  //true type ...

  6. vue的插件使用

    插件通常是为Vue添加全局功能,vue的官网介绍了5中添加插件的方法. vue的插件有个公开方法install.第一个参数是Vue构造器,第二个参数是一个可选的选项对象. 在plugin.js中可以这 ...

  7. 有关vue中用element ui 中的from表单提交json格式总是有冒号的问题解决办法

    因为后台要求要传递JSON格式的数据给他,然后我转了之后总是多了冒号,后来又看了自己的报错,原来是报了404错误,说明路径找不到, 数据格式 后来发现怎么都不行了,然后突然查看了报错报的是404,说明 ...

  8. SSL/TLS 协议运行机制概述(一)

    SSL/TLS 协议运行机制概述(一) SSL/TLS 发展史 1994年,NetScape 设计了SSL协议(Secure Sockets Layer) 1.0,未正式发布 1995年,NetSca ...

  9. 普通索引和唯一索引如何选择(谈谈change buffer)

    假设有一张市民表(本篇只需要用其中的name和id_card字段,有兴趣的可以翻看“索引”篇,里面有建表语句) 每个人都有一个唯一的身份证号,且业务代码已经保证不会重复. 由于业务需求,市民需要按身份 ...

  10. Flask-Sockets实时的监控画面

    Ajax轮询是通过特定的的时间间隔(如每1秒),由浏览器对服务器发出HTTP请求,然后由服务器返回最新的数据给客户端的浏览器.这种简单粗暴模式有一个明显的缺点,就是浏览器需要不断的向服务器发出请求,H ...