【HDU4497 GCD and LCM】
题意:已知l,g其中g=gcd(x,y,z),l=lcm(x,y,z),问有x,y,z多少种组合使得关系成立。
题解:已知x%g=y%g=z%g=0,l%x=l%y=l%z=0,所以l%g=0。这个可以判定是否存在(x,y,z)符合条件。
gcd(a,b,c)=p; => gcd(a/p,b/p,c/p)=1 要不然gcd(a,b,c)>p
且 lcm(a/p,b/p,c/p) = lcm(a,b,c) / gcd(a,b,c) ...证明不出来
设 lcm(a/p,b/p,c/p)=p1^d1*p2^d2.....pn^dn
a/p=p1^a1*p2^a2.....pn^an
b/p=p1^b1*p2^b2.....pn^bn
c/p=p1^c1*p2^c2......pn^cn
使得
gcd(a/p,b/p,c/p)=1 则 min(ai,bi,ci)=0 max(ai,bi,ci)=di (不然最大公约数是pi^min(ai,bi,ci)*p>p,同理得到max(bi,ci,ai)=di) (uva10892只用到了max(ai,bi,ci)=di)
所以 (0,0,d1) (d1,d1,0) (0,1~d1-1,d1) 三种组合情况
则 C(3,1) + C(3,1) + (di-1)*A(3,3)=6*di a,b,c的次序不一样也算不同的结果uva10892是去重了
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define X 10005
#define inf 0x3f3f3f3f
#define PI 3.141592653589793238462643383
const int N=1e4;
int main()
{ios::sync_with_stdio(false);int primer[N],a[N],cnt=0;for(int i=2;i<sqrt(N);++i){if(!a[i]){primer[cnt++]=i;for(int j=i*i;j<N;j+=i){a[j]=1;}}}ll n,gcd,lcm;cin>>n;while(n--){cin>>gcd>>lcm;if(lcm%gcd)cout<<0<<endl;else{ll m=lcm/gcd,sum=1;for(int i=0;i<cnt&&primer[i]*primer[i]<=m;++i){int ant;if(m%primer[i]==0){ant=0;while(m%primer[i]==0){++ant;m/=primer[i];}sum*=6*ant;}}if(m>1)sum*=6;cout<<sum<<endl;}}return 0;
}
【HDU4497 GCD and LCM】相关推荐
- hdu-4497 GCD and LCM
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4497 题目大意: 给出三个数的gcd和lcm,求出这三个数有多少种可能性 解题思路: 设lcm / ...
- 【备战蓝桥】JavaB组算法小讲解——GCD和LCM
大家好,这里是祁十一!今天为大家整理了一下GCD和LCM的内容. 目录 一.GCD(最大公约数) 1.定义 2.性质 3.代码实现 <1>Java自带函数 <2>辗转相除法 二 ...
- GCD and LCM Aizu - 0005(辗转相除)+GCD LCM Inverse POJ - 2429(java或【Miller Rabin素数測试】+【Pollar Rho整数分解】)
题目:GCD and LCM Aizu - 0005 Write a program which computes the greatest common divisor (GCD) and the ...
- 【dfs】GCD与LCM(jzoj 1608)
GCD与LCM 题目大意: 给出a,b的最大公因数和最小公倍数,求出符合条件的a,b的最小差值 样例输入 6 36 样例输出 6 数据范围限制 提示 数据说明: 对于50%的数据,1<=a< ...
- 【SemiDrive源码分析】【驱动BringUp】41 - LCM 驱动 backlight 背光控制原理分析
[SemiDrive源码分析][驱动BringUp]41 - LCM 驱动 backlight 背光控制原理分析 一.屏背光硬件原理(以中控主屏 MIPI DSI1为例) 二.RTOS侧 BACKLI ...
- 牛客多校第四场【B-Basic Gcd Problem】
牛客多校第四场[B-Basic Gcd Problem] 题目链接:https://ac.nowcoder.com/acm/contest/5669/B 思路:先要理解公式,多看几个数据基本就会有点想 ...
- 【GDOI2016模拟3.16】幂(容斥 + 模型复杂转化)
[GDOI2016模拟3.16]幂 \(X\in[1,A],Y\in[1,B]\),问:\(x^y\)的不用取值个数. \(A,B\)都是\(10^9\)级别. 然后我们开搞. 首先,假设一个合法的\ ...
- 【每日一题Day35】LC878第N个神奇数字 | 二分查找 找规律 + 数学
第N个神奇数字[LC878] 一个正整数如果能被 a 或 b 整除,那么它是神奇的. 给定三个整数 n , a , b ,返回第 n 个神奇的数字.因为答案可能很大,所以返回答案 对 109 + 7 ...
- 浅析欧几里德算法 GCD和LCM
前言 欧几里德算法作为有着非常简短的实现的算法,可能很多初学者(包括当时的我)都不求甚解.本文给出了GCD.LCM的性质,以及欧几里德算法的实现.证明和时间复杂度推导. 这里是我的个人网站: http ...
最新文章
- 利用世界杯,读懂 Python 装饰器
- Scala学习 -- 基础语法
- 详细推导PCA算法(包括算法推导必备的知识)
- js ajax上传图片到服务器
- 操作系统开发系列—13.g.操作系统的系统调用 ●
- 无符号定点数加法运算的VHDL描述
- centos7 iptables 端口转发 保存_iptables 防火墙
- ubuntu 12.04 samba 服务器搭建
- 不能将brassplus类型的值分配到brass类的实体_Java 基础 - 类与对象
- 1 数列分块入门_怎样用通俗易懂的语言让小学 OIer 理解并能初步运用线段树?...
- Asp.Net Forums研究文章集合(收藏)
- 【转】解决Windows Media Player媒体库无法添加文件
- 在.net 应用MD5加密
- mysql 日期减号_MySQL表字段名包含减号的问题
- App数据抓取(Appium使用)
- java页面注册_java编写注册页面
- RAAT: Relation-Augmented Attention Transformer for Relation Modeling in Document-Level 论文解读
- 腾讯游戏天美工作室实习感悟
- 中国“钱”途光明10所大学
- 正态分布与泊松分布的关系