結果
| 問題 | No.1063 ルートの計算 / Sqrt Calculation | 
| コンテスト | |
| ユーザー |  reopis | 
| 提出日時 | 2020-05-31 22:33:20 | 
| 言語 | C++14 (gcc 13.3.0 + boost 1.87.0) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 2 ms / 2,000 ms | 
| コード長 | 574 bytes | 
| コンパイル時間 | 2,035 ms | 
| コンパイル使用メモリ | 166,520 KB | 
| 実行使用メモリ | 5,248 KB | 
| 最終ジャッジ日時 | 2024-11-19 01:04:24 | 
| 合計ジャッジ時間 | 2,495 ms | 
| ジャッジサーバーID (参考情報) | judge3 / judge4 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 3 | 
| other | AC * 14 | 
ソースコード
#include <bits/stdc++.h>
#define ll long long
using namespace std;
#define rep(i, n) for (int i = 0; i < n; i++)
#define rrep(i, n) for (int i = 1; i <= n; i++)
ll gcd(ll a, ll b) { return b ? gcd(b, a%b) : a; }
ll lcm(ll a, ll b) { return (a * b) / gcd(a,b); }
using P = pair <int, int>;
 
ll MOD = 1000000007;
ll INF =1<<29;
int main() {
     int n;
     cin >>n;
     int MI = INF;
     int m=n;
     int a =1;
     for(int i = 2;i*i<=n;++i){
         while(m>=1&&m%(i*i)==0){
             m/=(i*i);
             a*=i;
         }
     }
     cout <<a <<' '<<m << endl;
}
            
            
            
        