// 快速幂算法(递归) クラスソリューション{ 公共 ダブル MYPOW(ダブルのx、int型N){ 場合(x == 0 ){ 戻り 0 ; } 長い N = N。 もし(N <0 ){ X = 1 / X。 N = - N。 } 戻りfastPow(X、N)を、 } 公共 ダブル fastPow(ダブル X、長いN){ 場合(0 ==N){ 戻り 1.0 。 } ダブルハーフ= fastPow(X、N / 2 )。 もし(N%2 == 0 ){ 戻り半分* ハーフ。 } 他{ リターン半分*半分* X。 } } }