Hankson 的趣味题

【内存限制:$128 MiB$】【时间限制:$1000 ms$】
【标准输入输出】【题目类型:传统】【评测方式:文本比较】

题目描述

Hanks 博士是 BT(Bio-Tech,生物技术)领域的知名专家,他的儿子名叫 Hankson。现在,刚刚放学回家的 Hankson 正在思考一个有趣的问题。

今天在课堂上,老师讲解了如何求两个正整数 $c_1$ 和 $c_2$ 的最大公约数和最小公倍数。现在 Hankson 认为自己已经熟练地掌握了这些知识,他开始思考「求公约数」和「求公倍数」这类问题的一个逆问题,这个问题是这样的:已知正整数 $a_0,a_1,b_0,b_1$,设某未知正整数 $x$ 满足:

1. $x$ 和 $a_0$ 的最大公约数是 $a_1$;
2. $x$ 和 $b_0$ 的最小公倍数是 $b_1$。

Hankson 的「逆问题」就是求出满足条件的正整数 $x$ 。但稍加思索之后,他发现这样的 $x$ 并不唯一,甚至可能不存在。因此他转而开始考虑如何求解满足条件的 $x$ 的个数。请你帮助他编程求解这个问题。

输入格式

第一行为一个正整数 $n$ ,表示有 $n$ 组输入数据。
接下来的 $n$ 行每行一组输入数据,为四个正整数 $a_0,a_1,b_0,b_1$,每两个整数之间用一个空格隔开。
输入数据保证 $a_0$ 能被 $a_1$ 整除,$b_1$ 能被 $b_0$ 整除。

输出格式

共 $n$ 行。每组输入数据的输出结果占一行,为一个整数。
对于每组数据:若不存在这样的 $x$,请输出 $0$;若存在这样的 $x$,请输出满足条件的 $x$ 的个数。

样例

样例输入

2
41 1 96 288
95 1 37 1776

样例输出

6
2
样例说明
第一组输入数据,$x$ 可以是 $9,18,36,72,144,288$,共有 $6$ 个;
第二组输入数据,$x$ 可以是 $48,1776$,共有 $2$ 个。

数据范围与提示

对于 $50\%$ 的数据,保证有 $a_0,a_1,b_0,b_1\leq 10^4$ 且 $n\le 100$。
对于 $100\%$ 的数据,保证有 $1\le a_0,a_1,b_0,b_1\le 2\times 10^9$ 且 $n\le 2000$。

题解

做题经历

以为是数论,果断放弃,看了看数据,发现可以暴搜得一半的分,然后...... $rank$ 出来之后,发现自己 $250pts$ ......

正解

首先对于题意进行分析,题意要求的是

满足使得 $gcd(x,a_0)=a_1,lcm(x,b_0)=b_1$ 的 $x$ 有多少取值。

那么,我们将这些关系分析一下

首先可以肯定这个关系:$a_0\cdot k_1=x$

那么同理,这个关系也是肯定存在的:$x\cdot k_2=b_1$

那么将这两个等式综合一下,可得:$$a_0\cdot k_1k_2=x\cdot k_2=b_1$$

再浅显地理解一下,如果 $b_1%a_0 ≠ 0$ ,那么答案肯定是 $0$ 的。


我们先设 $x={p_1}^{k_1}{p_2}^{k_2}......{p_n}^{k_n}$

然后,根据 $a_0,a_1$ 与 $b_0,b_1$ 分析他们分别对于 $x$ 有什么限制。

首先,我们看第一组 $a_0,a_1$

我们先设

$a_0={b_1}^{t_1}{b_2}^{t_2}......{b_m}^{t_m}$

$a_1={c_1}^{q_1}{c_2}^{q_2}......{c_v}^{q_v}$

首先根据 $gcd$ 的定义,我们可以知道每一个 $q_i=min\{k_i,t_i\}$

那么我们来讨论一下:

  • 当 $q_i=t_i$ 时,$k_i≥t_i$,说明这时 $x$ 中的因数 $p_i$ 最少有 $k_i$ 个,但是可以无限多
  • 当 $q_i≠t_i$ 时,若 $q_i<t_i$ 则无解,否则必定满足 $k_i=t_i$

然后再分别计数即可。

而对于第二组,也可以用同样的方法进行分析,具体细节不作赘述。

丢个代码:

想看代码?还在码中......

「NOIP2009」Hankson 的趣味题的更多相关文章

  1. loj2589 「NOIP2009」Hankson 的趣味题

    对于质因数分解理解还不到位. 此题可知$lcm$是$x$的倍数,$x$是$lcm$的约数,只要在$lcm$的分解质因数里对每一个质因子讨论种数即可. 具体来说,对于$lcm$的一个质因子$p$,讨论$ ...

  2. 「NOIP2009」Hankson的趣味题

    题目描述 (由于本题是数论题,所以我只把题目大意说一下...) 输入时给定\(a_0,a_1,b_0,b_1\),题目要求你求出满足如下条件的\(x\)的个数: \[\begin{cases}\gcd ...

  3. 【NOIP2009】Hankson 的趣味题

    题目描述 Hanks 博士是 BT (Bio-Tech,生物技术) 领域的知名专家,他的儿子名叫 Hankson.现在,刚刚放学回家的 Hankson 正在思考一个有趣的问题. 今天在课堂上,老师讲解 ...

  4. NOIP2009 T2 Hankson的趣味题

    传送门 题目描述 Hanks 博士是 BT (Bio-Tech,生物技术) 领域的知名专家,他的儿子名叫 Hankson.现在,刚刚放学回家的 Hankson 正在思考一个有趣的问题. 今天在课堂上, ...

  5. 【NOIP2009】Hankson的趣味题

    题意:给出 \(a_0\), \(a_1\), \(b_0\), \(b_1\), 求出正整数 \(x\) 的个数,\(x\) 满足: \(gcd(x,a_0)=a_1\) , \(lcm(x, b_ ...

  6. 洛谷P1072 [NOIP2009] Hankson 的趣味题

    P1072 Hankson 的趣味题 题目描述 Hanks 博士是 BT (Bio-Tech,生物技术) 领域的知名专家,他的儿子名叫 Hankson.现在,刚刚放学回家的 Hankson 正在思考一 ...

  7. CH3201 Hankson的趣味题

    题意 3201 Hankson的趣味题 0x30「数学知识」例题 描述 Hanks博士是BT(Bio-Tech,生物技术)领域的知名专家,他的儿子名叫Hankson.现在,刚刚放学回家的Hankson ...

  8. 一本通1626【例 2】Hankson 的趣味题

    1626:[例 2]Hankson 的趣味题 题目描述 Hanks 博士是BT (Bio-Tech,生物技术) 领域的知名专家,他的儿子名叫Hankson.现在,刚刚放学回家的Hankson 正在思考 ...

  9. 1626:【例 2】Hankson 的趣味题

    1626:[例 2]Hankson 的趣味题题解 [题目描述] Hanks 博士是 BT(Bio-Tech,生物技术)领域的知名专家,他的儿子名叫 Hankson.现在,刚刚放学回家的 Hankson ...

随机推荐

  1. 创建jsp文件时报错,"javax.servlet.http.HttpServlet" was not found on the Java)

    原因: 创建jsp文件的步骤如下: 出现"javax.servlet.http.HttpServlet" was not found on the Java) 报错信息就是因为没有 ...

  2. python练习:编写一个程序,要求用户输入一个整数,然后输出两个整数root和pwr,满足0<pwr<6,并且root**pwr等于用户输入的整数。如果不存在这样一对整数,则输入一条消息进行说明。

    python练习:编写一个程序,要求用户输入一个整数,然后输出两个整数root和pwr,满足0<pwr<6,并且root**pwr等于用户输入的整数.如果不存在这样一对整数,则输入一条消息 ...

  3. 「NOI2001」食物链

    传送门 Luogu 解题思路 带权并查集我不会啊 考虑种类并查集(扩展域并查集的一种). 开三倍空间,一倍维护本身,二倍维护猎物,三倍维护天敌,然后用并查集搞一搞就好了. 细节注意事项 咕咕咕 参考代 ...

  4. C/C++程序从文本文件中读取(保存)数据

    :本文仅供初学者参阅,解惑 在C程序中: 与程序代码外的数据(文件)打交道,我们使用到流(stream)这个概念,实现进程的虚拟内存与文件之间的数据交换. ——文件流:C标准库提供了FILE(之所以命 ...

  5. 电源适配器DC插头规格

    电源适配器 DC 插头的内径外径规格有 (单位为 MM) :2.0*0.72.35*0.72.35*1.12.5*0.73.5*1.13.5*1.354.0*1.75.5*2.15.5*2.54.75 ...

  6. 【PAT甲级】1054 The Dominant Color (20 分)

    题意: 输入两个正整数M和N(M<=800,N<=600),分别代表一张图片的宽度和高度,接着输入N行每行包括M个点的颜色编号,输出这张图片主导色的编号.(一张图片的主导色占据了一半以上的 ...

  7. 201771010131-王之泰 实验一 软件工程准备—<通读《现代软件工程—构建之法》后所思所想>周学习总结

    项目 内容 作业所属课程 https://www.cnblogs.com/nwnu-daizh/ 作业要求 https://www.cnblogs.com/nwnu-daizh/p/12369881. ...

  8. Es查询结果集默认是10000,更新设置

    Es查询结果集默认是10000,结果集大小是int,最大为21亿左右 PUT _all/_settings?preserve_existing=true { "index.max_resul ...

  9. java中关于&0xFF 的问题

    最近遇到一个问题,半天也没想明白,byte temp = 0xA0,为什么System.out.println(temp),打印的值为:-96:而System.out.println(temp& ...

  10. N-tier architecture N层架构 (转)

    下面的内容既有我的理解,也有翻译的内容,翻译的书名为: <<Expert C# 2008 Business Objects >>http://www.douban.com/su ...