結果
問題 | No.300 平方数 |
ユーザー |
![]() |
提出日時 | 2020-09-28 01:03:25 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 12 ms / 1,000 ms |
コード長 | 710 bytes |
コンパイル時間 | 1,600 ms |
コンパイル使用メモリ | 172,872 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-06-30 17:04:15 |
合計ジャッジ時間 | 3,108 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 43 |
ソースコード
#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<ll,ll> P; const ll MOD=1000000007; ll p[10000]; ll pp=0; map<ll,ll> prime_factor(ll n){ map<ll,ll> res; for(ll i=2;i*i<=n;i++){ bool w=true; while(n%i==0){ res[i]++; n=n/i; if(w){ w=false; p[pp]=i; pp++; } } } if(n!=1){ res[n]=1; p[pp]=n; pp++; } return res; } int main(void){ ll x; cin>>x; map<ll,ll> m=prime_factor(x); ll y=1; for(int i=0;i<pp;i++){ if(m[p[i]]%2==1){ y*=p[i]; } } cout<<y<<endl; }