ユークリッド互除法を利用した約分判定と約分実行プログラム例
#include<iostream>
#include<ctime> //srand(time(NULL));を使うために必要
using namespace std;
int yg(int a,int b);
void k(int a,int b);
void main(){
int a,b;
srand(time(NULL)); //毎回異なる結果を得るためにシード値を現在時間に
while(a==0){
a=rand()%100;
}
while(b==0){
b=rand()%100;
}
cout<<"分数"<<a<<"/"<<b<<"は"<<endl;
int c,d;
c=a;
d=b;
if(c<d)k(c,d);
int e;
e=yg(c,d);
if(e>1){
cout<<"約分できます。"<<endl;
cout<<"約分結果は"<<a/e<<"/"<<b/e<<"です。"<<endl;
}
else{
cout<<"約分できません。"<<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);
}
参考ダウンロード添付ファイル
ユークリッド互除法を使うと、最小公倍数を求めることも出来ます。
aとbの最大公約数をG、最小公倍数をLとすると、
G×L=a×b
の関係があります。
ですから、最小公倍数Lを求めるには、
L=a×b÷G
ということになります。
最小公倍数を求めるプログラムを以下の条件下で組んで下さい。
① 整数a、bは今回の約分プログラムと同様にランダムに発生させる。
② 任意に発生させるだけだと、
ほとんどの場合互いに素(最大公約数が1)になってしまうので、
aもbも100未満の整数を2つかけたものとする。
第4話へ 第6話へ
eclipse c++ 入門講義第1部へ
魔方陣 数独で学ぶ VBA 入門
数独のシンプルな解き方・簡単な解法の研究
VB講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)
初心者のための VC++による C言語 C++ 入門 基礎から応用まで第1部
eclipse java 入門
java 入門 サイト 基礎から応用まで
VC++ C言語 C++ 入門 初心者 基礎から応用まで
本サイトトップへ