分数の約分

こんにちは。

最近取り組んでいる「とある大学のC言語テスト問題」を通して関数を使えるようになってきたのですが、とある大学のC言語テスト問題はいっこうに解けません。

昨日行き詰まったのは、数字が大きくなりすぎてデータ型からあふれているのか、正しく計算できないという点でした。

データ型をlongにしてみたり、long long intにしてみたりしているのですが、なかなか上手くいきません。

そこで、ちょっと試しに大きくなりすぎた数字を小さくしてみることにしました。

約分します。


というわけで今日は”部品”を作ってみました。

まず、分子(numerator)と分母(denominator)の最大公約数(GCD/greatest common divisor)を求めて、分子と分母それぞれをGCDで割るという計算です。


約分なんて小学生もできるから簡単だと思いきや、よくよく考えると結構複雑でした。

約分する度に「最大公約数...ユークリット互除法...」とか考えている小学生はいないと思いますが、

小学校算数なめてました。


ICUでゴリゴリの文系から理転してプログラミングを勉強する勇者の話。

国際基督教大学(ICU)に通う2020年卒が、理転をしようと奮闘する様子を垣間見ることができるブログです。入学すれば文系と理系のどちらも(自己責任で)専攻することができるICU。高校時代「英語がそこそこできた」「数学の成績が悪かった」ので文系にしましたが、理系への憧れが捨てきれず理転します。

0コメント

  • 1000 / 1000