蓝桥杯 质因数分解
将分解出来质数不是偶数的数相乘即可
想到质因数分解就不难了
#include <iostream>
#include <unordered_map>
#include <vector>
#include <cmath>
using namespace std;
int main() {
long long input;
cin >> input;
long long origin;
origin = input;
unordered_map<long long, int>prime;
for (int i = 2; i <= sqrt(origin); i++) {
while (input % i == 0) {
prime[i]++;
input /= i;
}
}
if (input != 0) {
prime[input] = 1;
}
long long ans = 1;
for (auto i : prime) {
if (i.second % 2 == 1) {
ans *= i.first;
}
}
cout << ans;
return 0;
}