なんでそんな言語にこだわるんだろう
例えば Lisp ならたった一行ですむぞ

(log (gcd (expt 2 (ceiling (* 960 (log 3 2)))) (1- (expt 3 960))) 2)