Submission
# | When | Author | Problem | Language | CPU | Memory | |
---|---|---|---|---|---|---|---|
20909 | 2024-08-10 01:05:39 | heisenberg_120 | Square Reconstruction | C++ 17 | 25 ms | 7328 kb | Accepted |
Test Cases
Source Code
#include<bits/stdc++.h> using namespace std; #define long long long int const int N = 1e6 + 9; int spf[N]; void cal(){ for(int i = 1; i < N; i++)spf[i] = i; for(int i = 2; i < N; i++){ if(spf[i] == i){ for(int j = i + i; j < N; j += i){ spf[j] = min(spf[j], i); } } } } signed main(){ ios_base::sync_with_stdio(false); cin.tie(nullptr); cal(); int t; cin >> t; while(t--){ int n; cin >> n; long m = 1; while(n > 1){ int p = spf[n]; int c = 0; while(n % p == 0){ c++; n /= p; } if(c & 1)m *= p; } cout << m << '\n'; } return 0; }