1034 有理數四則運算 (20 分)

沒啥難的,注意的是要用long long int

還有個gcd()

沒了

#include<iostream>
#include<string>
#include<math.h>
#include<algorithm>
#include<map>
using namespace std;
int gcd(long long int a,long long int b){
	if(b==0)
	return a;
	else return gcd(b,a%b);
}
void method(long long int a,long long int b){
	if(b<0){
		a=-a;
		b=-b;
	}
	long long int t1,t2;
	t1=max(abs(a),b);
	t2=min(abs(a),b);
	int g=gcd(t1,t2);
	a=a/g;
	b=b/g;
	
	if(a<b&&a>0){
		printf("%lld/%lld",a,b);
	}
	else if(a==b)
	printf("1");
	else if(a==0)
	printf("0");
	else if(a>b){
		printf("%lld",a/b);
		if(a%b!=0)
		printf(" %lld/%lld",a%b,b);
	}
	else
	{
		printf("(-");
		method(abs(a),b);
		printf(")");
		
	}
}
void result(long long int a,long long int b,long long int c,long long int d,char s){
	
	switch(s){
		case '+':
		method(a*d+b*c,b*d);break;
	case '-':
		method(a*d-b*c,b*d);break;
	case '*':
		method(a*c,b*d);break;
	case '/':
		{
		if(c==0){
			printf("Inf");
			break;
		}
		
		else{
			 method(a*d,b*c);break;} 
			 
		}
		
		
	}
	
}
int main() {
long long 	int a,b,c,d;
	scanf("%lld/%lld %lld/%lld",&a,&b,&c,&d);
	//+
	method(a,b);
	printf(" + ");
	method(c,d);
	printf(" = ");
	result(a,b,c,d,'+');
	cout<<endl;
	//-
	method(a,b);
	printf(" - ");
	method(c,d);
	printf(" = ");
	result(a,b,c,d,'-');
	cout<<endl;
	//*
	method(a,b);
	printf(" * ");
	method(c,d);
	printf(" = ");
	result(a,b,c,d,'*');
	cout<<endl;
	///
	method(a,b);
	printf(" / ");
	method(c,d);
	printf(" = ");
	result(a,b,c,d,'/');

}

 

 
 
G
M
T
Y
 
 
檢測語言世界語中文簡體中文繁體丹麥語烏克蘭語烏茲別克語烏爾都語亞美尼亞語伊博語俄語保加利亞語信德語修納語僧伽羅語克羅地亞語冰島語加利西亞語加泰羅尼亞語匈牙利語南非祖魯語卡納達語盧森堡語印地語印尼巽他語印尼爪哇語印尼語古吉拉特語吉爾吉斯語哈薩克語土耳其語塔吉克語塞爾維亞語塞索托語夏威夷語威爾士語孟加拉語宿務語尼泊爾語巴斯克語布爾語(南非荷蘭語)希伯來語希臘語庫爾德語弗裏西語德語意大利語意第緒語拉丁語拉脫維亞語挪威語捷克語斯洛伐克語斯洛文尼亞語斯瓦希里語旁遮普語日語普什圖語格魯吉亞語毛利語法語波蘭語波斯尼亞語波斯語泰盧固語泰米爾語泰語海地克里奧爾語愛爾蘭語愛沙尼亞語瑞典語白俄羅斯語科薩科西嘉語立陶宛語索馬里語約魯巴語緬甸語羅馬尼亞語老撾語芬蘭語蘇格蘭蓋爾語苗語英語荷蘭語菲律賓語薩摩亞語葡萄牙語蒙古語西班牙語豪薩語越南語阿塞拜疆語阿姆哈拉語阿爾巴尼亞語阿拉伯語韓語馬其頓語馬爾加什語馬拉地語馬拉雅拉姆語馬來語馬耳他語高棉語齊切瓦語
 
世界語中文簡體中文繁體丹麥語烏克蘭語烏茲別克語烏爾都語亞美尼亞語伊博語俄語保加利亞語信德語修納語僧伽羅語克羅地亞語冰島語加利西亞語加泰羅尼亞語匈牙利語南非祖魯語卡納達語盧森堡語印地語印尼巽他語印尼爪哇語印尼語古吉拉特語吉爾吉斯語哈薩克語土耳其語塔吉克語塞爾維亞語塞索托語夏威夷語威爾士語孟加拉語宿務語尼泊爾語巴斯克語布爾語(南非荷蘭語)希伯來語希臘語庫爾德語弗裏西語德語意大利語意第緒語拉丁語拉脫維亞語挪威語捷克語斯洛伐克語斯洛文尼亞語斯瓦希里語旁遮普語日語普什圖語格魯吉亞語毛利語法語波蘭語波斯尼亞語波斯語泰盧固語泰米爾語泰語海地克里奧爾語愛爾蘭語愛沙尼亞語瑞典語白俄羅斯語科薩科西嘉語立陶宛語索馬里語約魯巴語緬甸語羅馬尼亞語老撾語芬蘭語蘇格蘭蓋爾語苗語英語荷蘭語菲律賓語薩摩亞語葡萄牙語蒙古語西班牙語豪薩語越南語阿塞拜疆語阿姆哈拉語阿爾巴尼亞語阿拉伯語韓語馬其頓語馬爾加什語馬拉地語馬拉雅拉姆語馬來語馬耳他語高棉語齊切瓦語
 
 
 
 
 
 
 
 
 
文本轉語音功能僅限200個字符
 
 
選項 : 歷史 : 反饋 : Donate 關閉
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章