题目意思是给你一个数N,并且限定N是两个数 a,b,的最小公倍数,求使得 a+b 最小,并求出 a+b
分析:当N为素数时,那么 a+b 最小肯定就是 N+1了,因为素数除了1和本身外 无其它因子了
还有就是题目给的N的范围是 N<=2^31 -1,注意2^31 -1是素数,所以 答案应为 N+1,可是此时的N+1已经超了 int的范围内,需要注意
接下来就是一般情况下的了,设pi为素数序列,那么任何一个数 N都可以写成 N=(p1^m1)*(p2^m2)*(p3^m3)……,那么本题最小和其实就是(p1^m1)+(p2^m2)+(p3^m3)……,题目做多了 就知道了,
#include
#include
#include
#include
#include
#include
#include
#include
#include