hdu 4497 已知三个数的gcd和lcm,求满足这个条件的三个的组数

来源:互联网 发布:知乐的小说东汉霸王传 编辑:程序博客网 时间:2024/04/30 13:05


GCD and LCM 

题意:已知三个数的gcd和lcm,求满足这个条件的三个的组数,顺序可以不同


思路:gcd(x,y,z) == G, lcm(x,y,z) == L,则gcd( x', y',z') == 1,lcm(x',y',z') == L/G ,其中x' = x /G,y' = y /G ,z' = z / G;

这样的话对t = L/G 这个数进行素因子分解,t = p1^t1 * p2^t2 * p3^t3 ..... * pn ^tn;

满足上面条件的x,y,z一定为这样的形式。
x' = p1^i1 * p2^i2 *```* pn^in.
y' = p1^j1 * p2^j2 * ```*pn^jn.
z' = p1^k1 * p2^k2 * ```*pn^kn.
为了满足上面的条件,对于p1,一定有max(i1,j1,k1) = t1.min(i1,j1,k1) =0;因为gcd(p1^i1,p1^j1,p1^k1)== 1 == p^0, => min(i1,j1,k1) == 0;

同理:lcm(p1^i1,p1^j1,p1^k1) == p1^t1   => max(i1,j1,k1) == t1;那么的话三个数中至少有一个0,和一个t1,第三个数则是在[0, t1]这个区间里的一个数;

则当选定第一个数为0,第二个数为t1时,第三个数可以为【0,t1】,又由于有顺序的,只有(0,t1,t1) 和(0,t1,0)这两种情形根据顺序只能产生三种结果,其他的第三个数在在【1,n-1】这个区间由于三个数都不一样,一定能产生6种,所以最后产生了6*(t1-1)+3*2 = 6*t1种,根据乘法原理以及关于素数分解的唯一性,反过来,素数组合必然也是唯一的数,一共有6*t1 * 6*t2 *`````*6*tn种选法。


接下来就是代码了:


#include<bits/stdc++.h>using namespace std;typedef unsigned long long ll;ll  depart(ll n){    ll ans = 1;    for(int i = 2; i * i <= n; i ++)    {        if(n % i == 0)        {            int t = 0;            while(n % i == 0)            {                t ++;                n /= i;            }            ans *= t * 6;        }    }    if(n > 1)        ans *= 6;    return ans;}int main(){    int Tcase;    scanf("%d",&Tcase);    for(int ii = 1; ii <= Tcase; ii ++)    {        ll n,m;        scanf("%I64d%I64d",&n,&m);        if(m % n)        {            cout << 0 << endl;            continue;        }        ll t = m /n;        cout << depart(t) << endl;    }    return 0;}


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 当兵后不想当了怎么办 在泰国想剪头发怎么办 省二证书丢了怎么办 职称计算机级别报错怎么办 科一不会用电脑怎么办 西安科目三挂了怎么办 我有c照想考a照怎么办 叉车证单位不给怎么办 刚练科目三害怕怎么办 摩托科目一考不过怎么办 人老了视力不好怎么办 2岁宝宝视力不好怎么办 唱歌音总是唱不准怎么办 考级没地方练琴怎么办 少儿声乐唱不准音该怎么办 学历认证报告编号忘记了怎么办 自考挂科10门了怎么办 高中的会考没过怎么办 毕业证和学位证丢了怎么办 大学毕业证学位证丢了怎么办 大学毕业证和学位证丢了怎么办 毕业证是士官证号码怎么办 自考本科准考证丢了怎么办 自考档案搞丢了怎么办 自考本科档案在自己手里怎么办? 本科自考准考证丢了怎么办 大学团员证丢了怎么办 大学开学团员证丢了怎么办 研究生开学没有团员证怎么办 研究生开学已经不是团员了怎么办 毕业了要搬宿舍怎么办 中专学历认证已停止怎么办 中专不做学历认证考试怎么办 大学生欠学费被扣毕业证怎么办 考警校体检没过怎么办 美国签证申请预约名字写错怎么办 当兵不从学校走怎么办 门牙崩了一小块怎么办 遇到很难过的事情怎么办 小孩子上课精力不集中怎么办 每天工作都很累压力大怎么办