题目描述
设d(x)d(x)为xx的约数个数,给定 、MM,求
输入输出格式
输入格式:
输入文件包含多组测试数据。第一行,一个整数T,表示测试数据的组数。接下来的T行,每行两个整数N、M。
输出格式:
T行,每行一个整数,表示你所求的答案。
输入输出样例
输入样例#1:
2
7 4
5 6
输出样例#1:
110
121
说明
1<=N, M<=50000
1<=T<=50000
题目分析
数论题对我这种智障来说就是要命的。这题我想了一会还是没有想出来。
某Cla口中的水题对蒟蒻我来说都是难题,所谓的好题就是我根本不会做的题。。。
本题必须用到的结论:
d(ij)=∑x|i∑y|j[(x,y)=1]d(ij)=∑x|i∑y|j[(x,y)=1]
证明很简单:
将一个数唯一分解为pk11pk22pk33...pknnp1k1p2k2p3k3...pnkn,则其约数个数为(k1+1)(k2+1)(k3+1)...(kn+1)(k1+1)(k2+1)(k3+1)...(kn+1)。因为对于任意i≠ji≠j,(pi,pj)=1(pi,pj)=1。
然后考虑一个质数pp对 的贡献。假设ii的质因数分解中有 个pp, 的质因数分解中有qq个 ,那么对