分数の計算は小学生で習います。非常に簡単ですが、電卓では出来ません。
これをパソコンで計算できるようにして欲しいのです。
この競技ではプログラムのスピードを競うものではありません。
分数の足し算が出来さえすればよいだけです。
分数を入力する形式は次のような方法を使います。計算結果も同様の形式で出してください。
計算の一例をあげれば次のようなものになる。
1/6 + 1/4 の結果を 5/12 にするように!
入力として文字列 「1/6 + 1/4」 を受け取り、出力として文字列 「5/12」 を出力する。
なお、文字は半角文字とし、例のように間に空白が入っても良い
(全角、半角混合対応までしていただければ最良ですが)。
したがって、インタプリタを使おうが、コンパイラを使おうがどちらにしても有利・不利はありません。
プログラミングの素人の人でも参加可能です。今回のコンテストは応募着順により1位、2位を決めます。
なお、今回は入力画面などにGUIを使ったユーザーインタフェースの出来栄えが良いものを競う部門も特別に設けます。
Windows上で動くプログラムについては使用感の良いものを目指しても結構です。
特に、毎日パソコンプログラミングの研究をしているはずの物理研究班の諸君へ一言、
「君たちに実力があるなら見せてくれ! 君たちの挑戦を待っているよ。」
※「分数計算」競技では 「引き算」、「掛け算」、「割り算」各部門も、 また「GUI」部門も同時に開設します。
プログラミング初心者に注意しておきます。今回のプログラムのポイントは通分と約分をどのように行うかです。
約分まで含めた分数計算の処理を行うことが出来るか? 挑戦してください。
通分という操作、約分という操作には、公倍数、公約数という算数の知識が必要です。
公倍数、公約数をどのようにして求めるのか、数学を勉強してください。
いつものように、処理の手順を分解して、処理構造を分析してプログラムを完成してください。
![]() |
「分数電卓」競技「記録」 |
![]() |
全プログラミングコンテストの「記録」総集編 |
![]() |
第1回「素数発見」競技 コンテスト規定 |
![]() |
第2回「超電卓」競技 コンテスト規定 |
![]() |
第3回「分数電卓」競技 コンテスト規定 |
![]() |
第4回「文字列並べ替え」競技 コンテスト規定 |
![]() |
第5回「文字列置き換え」競技 コンテスト規定 |
![]() |
第6回「積み算」競技 コンテスト規定 |
![]() |
第7回「円周率」競技 コンテスト規定 |
![]() |
フリーのプログラミング言語、開発ツールの入手法 |
このページは2003/2/1 に最初に作成されました。