結果
問題 |
No.1611 Minimum Multiple with Double Divisors
|
ユーザー |
|
提出日時 | 2021-07-22 12:49:38 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 613 bytes |
コンパイル時間 | 1,858 ms |
コンパイル使用メモリ | 195,920 KB |
最終ジャッジ日時 | 2025-01-23 05:49:21 |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 9 WA * 28 |
ソースコード
#include<bits/stdc++.h> #define int long long using namespace std; int P[]={2,3,5,7,11,13,17,19,23,29,31,37}; int mypow(int a,int b){ if(!b)return 1; if(b&1)return mypow(a,b-1)*a; return mypow(a*a,b/2); } signed main(){ int T; cin>>T; while(T--){ int X; cin>>X; int _X=X; vector<int> A(12); for(int i=0;i<12;i++){ while(_X%P[i]==0){ _X/=P[i]; A[i]++; } } int ans=1e18; for(int i=0;i<12;i++){ ans=min(ans,mypow(P[i],A[i]+1)); } cout<<ans*X<<endl; } }