エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
記事へのコメント1件
- 注目コメント
- 新着コメント
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
Spaghetti Source - 有理数
説明 浮動小数点計算に由来する誤差を避けるための最終兵器.一応数理に区分しているが,本当にこれが必... 説明 浮動小数点計算に由来する誤差を避けるための最終兵器.一応数理に区分しているが,本当にこれが必要になるのは,幾何の問題のほうが多い. ひととおり定義すべきものを定義してあるので,普通の数を使っているところを形式的に rational に置き換えればだいたい動く.しかし繰り返し計算をしていると分子・分母ともに大きな数となり,オーバーフローすることがあるので,過信は禁物である. ソースコード typedef long long Integer; Integer gcd(Integer a, Integer b) { return a > 0 ? gcd(b % a, a) : b; } struct rational { Integer p, q; void normalize() { // keep q positive if (q < 0) p *= -1, q *= -1; Inte
2009/11/01 リンク