POJ1845 首先把A写成唯一分解定理的形式 分解时让A对所有质数从小到大取模就好了 然后就有:A = p1^k1 * p2^k2 * p3^k3 *...* pn^kn 然后有: A^B = p1^(k1*B) * p2^(k2*B) *...* pn^(kn*B); 约数和公式: 对于已经分解 ...
分类:
其他好文 时间:
2018-09-02 20:23:11
阅读次数:
168
题目: 求AB的正约数之和。 输入: A,B(0<=A,B<=5*107) 输出: 一个整数,AB的正约数之和 mod 9901。 思路: 根据正整数唯一分解定理,若一个正整数表示为:A=p1^c1 * p2^c2 * ...... pm^cm 则其正约数之和可以表示为:S=(1+p1+p1^2+. ...
分类:
其他好文 时间:
2018-09-02 18:41:36
阅读次数:
155
Description 给定n,m,a(n,m<=107,a<=109),求$\sum\limits_{i=1}^{n}\sum\limits_{j=1}^{m}f(gcd(i,j))[f(gcd(i,j))<=a]$(多组数据,q<=200000),其中,f(n)表示n的约数和。 Solution ...
分类:
其他好文 时间:
2018-08-22 22:53:51
阅读次数:
357
每次需要用到的时候总是会忘记怎么求最大公约数,这次写在博客上,天天看,背都要把它背下来。 高效简洁的辗转相除法: 简单低效的辗转相减法: 最小公倍数(LCM)=两数之积/最大公约数 ...
分类:
其他好文 时间:
2018-08-21 13:54:33
阅读次数:
132
P2424 约数和 题目背景 Smart最近沉迷于对约数的研究中。 题目描述 对于一个数X,函数f(X)表示X所有约数的和。例如:f(6)=1+2+3+6=12。对于一个X,Smart可以很快的算出f(X)。现在的问题是,给定两个正整数X,Y(X ...
分类:
其他好文 时间:
2018-08-16 21:37:51
阅读次数:
150
哇这题坑是真的多,虽然很警惕还是交了三次。 以前没好好看题还以为超级超级难,就一直没做。今天写了一下觉得就还好,思路好想,不被坑难。 一句话题意:找到大于等于n的约数和的约数和等于自己的第一个数,输出它和它的约数和。 看到s<=18000就可以上一个暴力,枚举每个因数i,i的倍数的那些数的sum[k ...
分类:
其他好文 时间:
2018-08-11 14:37:24
阅读次数:
207
题目描述 输入 2 个正整数 x,y,求出满足下列条件的 P,Q 的个数 条件: P,Q 是正整数 要求P,Q 以 x 为最大公约数,以 y? 为最小公倍数. 试求:满足条件的所有可能的 2个正整数的个数. 输入输出格式 输入格式: 2 个正整数 x,y 输出格式: 1 个数,表示求出满足条件的 P ...
分类:
其他好文 时间:
2018-07-25 23:57:58
阅读次数:
290
#include<iostream>#include<algorithm>using namespace std;int main (){ int n; cin>>n; while(n--) { int max; int min; int a,b; cin>>a>>b; if(a<b) { max= ...
分类:
其他好文 时间:
2018-07-22 21:16:23
阅读次数:
151
简单来讲,就是要求$\sum_{i=1}^n(\sum_{d|i}d)$ $$\sum_{i=1}^n(\sum_{d|i}d)=\sum_{i=1}^n(\sum_{j=1}^n{[j|i]*j})=\sum_{j=1}^n(\sum_{i=1}^n{[j|i]*j})=\sum_{j=1}^n( ...
分类:
其他好文 时间:
2018-07-12 10:30:10
阅读次数:
176
求最大公约数利用辗转相除法: 求最小公倍数时,利用两数的乘积除以这两个数的最大公约数即可: 完整代码如下,输入两个数n和m,输出这两个数的最大公约数和最小公倍数: ...
分类:
其他好文 时间:
2018-07-05 12:16:46
阅读次数:
171