これまでの私の方法は次のとおりです。
public static int[] simplifyRadical(int number) {
int[] result = new int[2];
for (int i = 1; i < number / 2; i++) {
if ((i % number == 0)) {
//IS a factor of the number in the radical
}
}
return result;
}
私が使用している形式はとresult[0] = number outside radical
ですresult[1] = number inside radical
。これまでのところ、私のメソッドはのすべての要素を取得しますnumber
(これは部首の最初のUNSIMPLFIED数です)。では、どのようにしてイニシャルnumber
を完全な平方で割り、その平方根を取得し、それをresult[0]
変数に乗算することができますか。次に、完全な正方形が見つからなくなるまでループを続けます。この質問を読むのが混乱している場合は申し訳ありませんが、書くのは間違いなく混乱していました。説明が必要な場合は、以下にコメントしてください。
更新:
数学的に私は:をに変えsqrt(50)
ています。5 sqrt(2)
なぜならsqrt(50) = sqrt(25 * 2)
、25は5の完全な平方であり、したがって:5 sqrt(2)
が形成されるからです。