(C++)単純点数加算を実現

4406 ワード

分数加算
個人レコードの保存
// 
#include "StdAfx.h"
#include "stdio.h"
#include <iostream>
using namespace std;


int main(){
	int a,b,c,d;
	int x,y;
	cin>>a>>b>>c>>d;
	x = a*d+b*c;
	y = b*d;
	int i;
	int f = a<b?a:b;
	for(i=f;i>=1;i--)
	{
		if ( a%i==0&&b%i==0 )break;			//         
	}
	int t = i;
	int g = x<y?x:y;
	int h;
	for(h=g;h>=1;h--)
	{
		if ( x%h==0&&y%h==0 )break;			//           
	}
	cout<<x/h<<" "<<y/h; 					//          
	return 0;
}

参考資料
【C++】2つの数の最大公約数を求めます——方法の大全