先判斷 N 是否為完全平方數,如果 pow(sqrt(N), 2) == N,代表 N 為完全平方數,直接輸出 sqrt(N) 即可。
如果 N 不是完全平方數,預設兩個變數 a = 1、b = N,兩個變數都需要 Long Long Int。跑一個 While迴圈,並且跑一個 For迴圈並跑每一個完全平方數,可以宣告一個變數 plus 為 3,並且將 For迴圈 寫成:「for (int i = 4; i<=N; i+=plus)」,並且在每一次迴圈結束之後將 plus += 2。
For迴圈 每次都只會跑到完全平方數,只要判斷 i 是否為 b 的因數,如果 i 為 N 的因數,則將 b /= i、a *= sqrt(i),如果本次 While迴圈 沒有判斷到因數,則將 While迴圈 Break 掉。
如果 a != 1,就輸出 a 跟一個空格字元。在判斷式後面輸出 sqrt(b)。