http://acm.hdu.edu.cn/showproblem.php?pid=5778
题意:T组数据,给x求y。y满足个条件1.与x差的绝对值最小 2.质因数分解每个元素恰好出现两次。x <= 10 ^18
解析:直接枚举sqrt(y),先判断开方后的这个数是否为素数(利用logn的算法),如果不是判断。开方后的这个数中分解质因数的因数每个元素最多出现一次,暴力枚举即可
另:要注意题目中的条件y >= 2
代码:
#include <iostream>
#include <cstdio>
#include <cstring>
#include <sstream>
#include <string>
#include <algorithm>
#include <list>
#include <map>
#include <vector>
#include <queue>
#include <stack>
#include <cmath>
#include <