View Code of Problem 3494

#include<stdlib.h>
#include<stdio.h>
#include<math.h>


int main(){
	int fz1,fz2,fm1,fm2;
	char op;
	while((scanf("%d/%d%c%d/%d",&fz1,&fm1,&op,&fz2,&fm2)!=EOF)){
		if(fm1!=fm2){
			fz1 = fz1 * fm2;
			fz2 = fz2 * fm1;
			fm1 = fm1 * fm2;
			fm2 = fm1;
		}
		int fz,fm;
		if(op=='+'){
			fz = fz1 + fz2;
		}else{
			fz = fz1 - fz2;
		}
		fm = fm1;
		if(fz==0){
			printf("0\n");
			continue;
		}
		int fz_ = abs(fz);
		int a = fz_,b=fm;
		int m = b % a;
		while(m!=0){
			b = a;
			a = m;
			m = b%a;
		}
		fz = fz/a;
		fm = fm/a;
		if(fm==1)
			printf("%d\n",fz);
		else
			printf("%d/%d\n",fz,fm);
	
	}


	return 0; 
}

Double click to view unformatted code.


Back to problem 3494