累乗根、pow 使っていいなら xのn乗根 = x^(1/n) = pow(x, 1/n) なんだけど、そういう話ではなくて?? 一引数版の pow しか使わないなら a^b = exp^(log(a)*b) です。 累乗根て日常ではほぼ使わないけど、音階がそうです。 A=440Hz に対して高いA=880Hz、一オクターブで周波数は 2 倍になりますね。 一オクターブは半音が 12 ステップ分なので、半音上げるということは周波数を 2^(1/12) 倍することに等しい。 440Hz*2^(1/12)=466.164Hz がA#になります。さらに半音上げるには更に 2^(1/12)倍して 440Hz*2^(1/12)*2^(1/12)=493.883Hz=B です。 440Hz*exp(2,c/12)でAに対して半音c個分上げた音になる。c<=0でも可。