teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

色々間違えていたので訂正

2015/06/13 13:12

投稿

swordone
swordone

スコア20675

answer CHANGED
@@ -1,5 +1,9 @@
1
1
  速いかどうかわかりませんが・・・
2
2
  nを2から順に・・・
3
3
  0. 割れるだけ割る
4
- 0. 割った数×(割ることができた回数/2(整数))を積算していく
4
+ 0. 割った数^(割ることができた回数/2(整数))を積算していく
5
- すべて割り切った時,2.の全体の積が,求める「nを割り切れる最大の平方数」になる
5
+ すべて割り切った時,2.の全体の積の2乗が,求める「nを割り切れる最大の平方数」になる
6
+
7
+ 例えば108 = 2^2 * 3^3 なので,
8
+ 2^(2/2) * 3^(3/2) = 2 * 3 = 6
9
+ これを2乗して,36が求める平方数になります.