首页 > TAG信息列表 > P1072

题解 P1072 【Hankson 的趣味题】

P1072 Hankson 的趣味题 题目大意: 求有多少个 \(x\) 满足: \[\gcd(x,a_0)=a_1,\text{lcm}(x,b_0)=b_1 \]  solution: 首先我们探究一些性质:设\(x=k_1\times a_1,a_0=k_2\times a_1\) ,且 \(\gcd(k_1,k_2)=1\) 。 证明: 若 \(\gcd(k_1,k_2)\not=1\),设 \(\gcd(k_1,k_2)=d\) ,则有 \(k_1=

P1072 [NOIP2009 提高组] Hankson 的趣味题

Rose \(O(\sqrt n)\)也是可以接受的对吧 化简式子得\(gcd(\frac{x}{a_1},\frac{a_o}{a_1})=1\)和\(gcd(\frac{b_1}{x},\frac{b_1}{b_0})=1\) 然后枚举\(b_1\)的因子就可以了 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using nam

P1072 [NOIP2009 提高组] Hankson 的趣味题

Description 给定 n ( n ≤ 2 × 1 0

洛谷 P1072 Hankson 的趣味题(数学||唯一分解定理)

题目链接:https://www.luogu.com.cn/problem/P1072       更高效: 预处理的质数中从2~$\sqrt(d)$,检查每一个质数是不是d的约数,如果是,按上述方法计算$cnt_p$。如果d不能被上述所有的质数整除,则说明d本身是质数,应该计算$cnt_d$。     AC代码: 1 #include<cstdio> 2 #include<

【Luogu】P1072 Hankson 的趣味题 题解

原题链接 嗯...通过标签我们易得知,这是一道数学题(废话) 其中,题目给了这两个条件: \(gcd(x,a_0)=a_1,lcm(x,b_0)=b_1\) 所以,根据 \(gcd\) 与 \(lcm\) 的性质,我们可以得到如下结论: \(a_1|x,x|b_1\) , \({x} \over a_1\) 与 \(a_0 \over a_1\) 互质, \(b_1 \over x\) 与 \(b_1 \over b_

洛谷P1072 Hankson 的趣味题

题目 x和\(a_0\)的最大公约数是\(a_1\) x和\(b_0\)的最小公倍数是\(b_1\) \(gcd(x,a_0)=a_1\) \(gcd(x/a_1,a_0/a_1)=1\) \(\tag{1}\) \(lcm(x_1,b_0)=b_1\) \(\frac{x*b_0}{gcd(x,b_0)}=b_1\) \(gcd(x,b_0)=\frac{x*b_0}{b_1}\) \(gcd(x/\frac{x * b_0}{b_1},b_0/\fr

洛谷P1072 Hankson的趣味题

洛谷P1072 Hankson的趣味题题目题目描述输入输出格式输入格式输出格式输入输出样例输入样例输出样例题解 题目 题目描述 原题 Hanks博士是 BT(Bio-Tech,生物技术)领域的知名专家,他的儿子名叫Hankson。现在,刚刚放学回家的Hankson正在思考一个有趣的问题。 今天在课堂上,老师讲

P1072 Hankson 的趣味题

原题链接  https://www.luogu.org/problemnew/show/P1072 这个题是数论+暴力吧,需要一些优化。 先来看看怎么求最大公约数和最小公倍数: 欧几里德算法 ------求最大公约数 概述 欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数。其计算原理依赖于下面的定理: gcd

P1072 Hankson 的趣味题

#include<bits/stdc++.h> #define ll long long using namespace std; int n; ll a0, a1, b0, b1; int main() { cin >> n; while(n--) { cin >> a0 >> a1 >> b0 >> b1; ll ans = 0; for(ll i = 1; i *