第17講 ユークリッド互除法
第7話 ユークリッド互除法を利用して分数の足し算を行う


分数の足し算a/c+b/d
pを実現するプログラム例
#include<iostream>
#include<ctime>
using namespace std;
int yg(int a,int b);
void k(int a,int b);
void main(){
   int a=0,b=0,c=0,d=0,e=0;
   srand(time(NULL));
   while(a==0){
     a=rand()%100;
   }
   while(b==0){
     b=rand()%100;
   }
   while(c==0 || d==0 || e<2){
     c=rand()%100;
     d=rand()%100;
     if(c<d)k(c,d);
     e=yg(c,d);
   }
   cout<<a<<"/"<<c<<"+"<<b<<"/"<<d<<"=";
   int f;
   f=c*d/e;
   cout<<a*(f/c)+b*(f/d)<<"/"<<f<<endl;
   cout<<"プロジェクト終了"<<endl;
}
void k(int a,int b){
   int w;
   w=a;
   a=b;
   b=w;
}
int yg(int a,int b){
   a=a%b;
   if(a==0)return(b);
   yg(b,a);
}
参考ダウンロード添付ファイル

確かに、分母は互いに素でなく(最大公約数が1より大きく)、
通分しての足し算は実現できていますが、
lのように、
まだ計算が終わっていない例も出来てしまいます。
約分されていませんね。
そこで、約分できる場合に約分も実行するプログラム
t
に変更して下さい。


第6話へ
 第8話へ

a

eclipse c++ 入門講義第1部へ

魔方陣 数独で学ぶ VBA 入門
数独のシンプルな解き方・簡単な解法の研究
VB講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)
初心者のための VC++による C言語 C++ 入門 基礎から応用まで第1部
eclipse java 入門
java 入門 サイト 基礎から応用まで
VC++ C言語 C++ 入門 初心者 基礎から応用まで
本サイトトップへ