Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
分数の計算
分数の計算
分数の加減算をして、結果を分数で表示します。
前田稔(Maeda Minoru)の超初心者のプログラム入門


最大公約数(GCM)
- 分数計算を行うには、まず最大公約数と最小公倍数を求めます。
最大公約数とは、二個の整数を割り切ることのできる最大の数で、分数を約分するときに使う数です。
例えば 24 と 32 の最大公約数は 8 になります。
従って 24 / 32 を約分すると 3 / 4 になります。
24 / 8 = 3 //24は8で割り切れる
32 / 8 = 4 //32も8で割り切れる
24 / 32 = 3 / 4 //従って約分すると3/4
|
また 42 と 30 の最大公約数は 6 になります。
従って 42 / 30 を約分すると 7 / 5 になります。
42 / 6 = 7 //42は6で割り切れる
30 / 6 = 5 //30も6で割り切れる
42 / 30 = 7 / 5 //従って約分すると7/5
|
- 最大公約数はユークリッドの互除法を使った次の手順で計算できます。
- data1 と data2 が等しいとき data1 が最大公約数です。
- data1 が data2 より大きいとき data1-=data2 を計算して 1. に戻ります。
- data2 が data1 より大きいとき data2-=data1 を計算して 1. に戻ります。

最小公倍数(LCM)
- 最小公倍数は data1*data2/最大公約数 で求まります。
ただし、data1, data2 は GCM を計算する前の最初の値です。
- 最小公倍数は、分数の加減算でお馴染みの通分に使う数です。
例えば 24 と 32 の最大公約数は 8 なので、最小公倍数は、次のようになります。
24 * 32 / 8 = 96 //24と32の最小公倍数は96
96 / 24 = 4 //96は24で割り切れる
96 / 32 = 3 //96は32でも割り切れる
|
また 42 と 30 の最大公約数は 6 なので、最小公倍数は、次のようになります。
42 * 30 / 6 = 210 //42と30の最小公倍数は210
210 / 42 = 5 //210は42で割り切れる
210 / 30 = 7 //210は30でも割り切れる
|

分数計算
- ニ個の分数の分母と分子を bubbo1, bubbo2, bunsi1, bunsi2 とします。
例えば「3/24 + 8/32」のときは、次のようになります。
3/24 + 8/32
bunsi1 = 3
bubbo1 = 24
bunsi2 = 8
bubbo2 = 32
|
- この分数を最小公倍数で通分すると次のようになります。
3 / 24 + 8 / 32
= (3*4) / (24*4) + (8*3) / (32*3)
= 12 / 96 + 24 / 96
|
- 二個の分数を加えて約分すると答えが求まります。
= (12 + 24) / 96
= 36 / 96
= 3 / 8
|
- bubbo1, bubbo2, bunsi1, bunsi2 に適当な値を設定して、分数計算をするプログラムを作成して下さい。
int bunsi1 = 3;
int bubbo1 = 24;
int bunsi2 = 8;
int bubbo2 = 32;
|

前田稔(Maeda Minoru)の超初心者のプログラム入門
