2017-09-01から1ヶ月間の記事一覧
let f=(n,_,a,b)=>(_=n=>n++?([a,b]=_(n%8?n%2?n>>1:n-2:n),n%8?n%2?[a*(a+2*b),a*a+b*b]:[a+b,a]:[b,a-b]):[0,1])(n)[0]; この前の2倍公式を使い、偶数なら2倍公式を適用、下位3ビットが1なら1を足したもの、そうでなければ1を引いたものから計算する。こう…
let f=(n,_,a,b)=>(_=n=>n++?([a,b]=_(n%8?n%2?n>>1:n-2:n),n%8?n%2?[a*(a+2*b),a*a+b*b]:[a+b,a]:[b,a-b]):[0,1])(n)[0]; この前の2倍公式を使い、偶数なら2倍公式を適用、下位3ビットが1なら1を足したもの、そうでなければ1を引いたものから計算する。こう…