ぎるばーとのノート

もっともっと遠くへ行きたい 空が広く見える場所まで

Java

Javaの知られざる構文〜幻のfor-while文

【この記事はジョーク記事です!】【某ソフトハウスの営業マン】 「軌道上の静止衛星に積まれるソフトです。for文は宇宙放射線に弱いので全てwhile文で書く必要がありますが、御社は対応可能でしょうか?」 「大丈夫です。大丈夫です。弊社の開発部門にはそ…

Binary GCD

GCDは最大公約数。計算方法としてはユークリッドの互除法が有名です。 別なやり方もあって、例えばBinary GCDアルゴリズムなんかおもしろいと思うのですが、なぜか日本語での解説が少ない……。 なら自分で書いて残しておこうかと思ったり。 Binary GCDアルゴ…

罠が潜んでいる!

ワンライナーの陥穽。 剰余(n rem m)演算とモジュロ(n mod m)演算はnが負のとき結果が違ってきます。端的に言うとモジュロ演算で結果が負の数になることはありません。(詳細は英語版ウィキペディアのモジュロ演算。) 例を挙げた方がいいか……。 n -7 -6…

log2(x)

JavaのMathクラスにはlog2(x)関数が見当たりません。 他のプログラミング言語でもlog2(x)がない場合には役立つ話かも……? さて、下のやり方で何か問題があるでしょうか? Math.log(x) / Math.log(2) 対数の底の変換は、 なので数学的には自然というか素朴な…