結果

問題 No.1611 Minimum Multiple with Double Divisors
ユーザー okkuukenken
提出日時 2021-07-21 21:41:47
言語 C++17
(gcc 13.3.0 + boost 1.87.0)
結果
WA  
実行時間 -
コード長 697 bytes
コンパイル時間 1,160 ms
コンパイル使用メモリ 122,692 KB
最終ジャッジ日時 2025-01-23 03:37:46
ジャッジサーバーID
(参考情報)
judge3 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 9 WA * 28
権限があれば一括ダウンロードができます

ソースコード

diff #

#include<iostream>
#include<string>
#include<vector>
#include<stack>
#include<queue>
#include<set>
#include<map>
#include<algorithm>
#include<numeric>
#include<cmath>
#include<iomanip>
#include<regex>
#include<random>
using namespace std;
#define int long long
#define uint unsigned long long
const int mod=1e9+7;
const int inf=mod*mod;
const double eps=1e-9;
int pri[11]={2,3,5,7,11,13,17,19,23,29,31};
signed main(){
	int t,x;
	cin>>t;
	while(cin>>x){
		int y=inf;
		for(int i=0;i<=10;i++){
			int p=pri[i],xx=x,e=0;
			while(xx%p==0){
				xx/=p;
				e++;
			}
			if(pow(p,e+1)*x>=inf)
				continue;
			int tmp=1;
			for(int i=0;i<=e;i++)
				tmp*=p;
			y=min(y,tmp*x);
		}
		cout<<y<<endl;
	}
}
0