首页 > TAG信息列表 > CF1444A

CF1444A Division 求质因数的方法

2020.12.20 求质因数的方法 CF1444A Division #include<bits/stdc++.h> #define ll long long #define fp(i,a,b) for(int i=a;i<=b;i++) #define sfp(i,a,b) for(int i=a;i<b;i++) const ll N = 1e6+10; using namespace std; ll t; ll p,q,cnt; ll a[N],cnt1[N],cnt2[

CF1444A

Solution: 看到这道题,很容易想到朴素算法所以这里不在赘述。在看到题面中 \(p\) 和 \(q\) 的数据范围的差距后,可以想出,我们此时不能将 \(p\) 分解质因数,而应该将 \(q\) 分解质因数。另外,显然如果 \(q\nmid p\) 那么答案就是 \(p\) 。考虑如何处理 \(q\mid p\) 的情况。因为 \(q\)

CF1444A Solution

题目链接 题解 由题易得,当\(p<q\)或\(p\%q\not=0\)时\(x=p\)。 其他情况:先使\(x=p\) 将\(p\)分解为\(k_1^{n_1}\cdot k_2^{n_2}\cdot k_3^{n_3}...\cdot k_m^{n_m}\),若将\(k\)中任意一个满足\(k_i^{n_i}|p\)的\(k_i\),使\(x\)中\(k_i\)的幂数\(\le n_i\),则\(x\%q\not=0\)。因此可