ほぼ静的な計画法

競技プログラミングで解いた問題の解法とコードを晒していくページ。ややマイナーなC♯。

AOJ 0220 (Binary Digit A Doctor Loved : 博士が愛した2進数)

【問題】

https://onlinejudge.u-aizu.ac.jp/problems/0220

http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0220

【解説】

入力される実数を2進数で表現する問題。整数であれば標準ライブラリのConvert.ToString()で変換すれば一発だが、入力は実数で与えられるため整数部と小数部に分けて処理した。

まずは、変換後に整数部8桁かつ小数部4桁に収まるかを判定する。

整数部は8桁で表現できるのは255までの整数であるため2^8より小さいかで真偽判定する。

小数部については、値を2^4倍した際に小数点以下が0となることで判定できる。

判定後はそれぞれ整数部と小数部Convert.ToString()で変換し、小数点で結合すればよい。前0を忘れない様に注意。

【コード】