View Code of Problem 3494

#include<stdio.h>
#include<math.h>
void main()
{
	int a,b,c,d;
	char o;
	while(scanf("%d/%d%c%d/%d",&a,&b,&o,&c,&d)!=EOF)
	{
		int m,n;
		if(o=='+')
		{
			m=a*d+c*b;
		    n=b*d;
			if(m%n==0)
			{
				printf("%d\n",m/n);
			}else
			{
				int i=2;
				while(i<=m&&i<=n)
				{
					if(m%i==0&&n%i==0)
					{
						m=m/i;
						n=n/i;
					} else i++; 
				}
				printf("%d/%d\n",m,n); 
			}
		}
		if(o=='-')
		{
			m=a*d-c*b;
			n=b*d;
			if(m%n==0)
			{
				printf("%d\n",m/n);
			}else
			{
				int i=2;
				while(i<=abs(m)&&i<=n)
				{
					if(m%i==0&&n%i==0)
					{
						m=m/i;
						n=n/i;
					}else i++; 
				}
				printf("%d/%d\n",m,n); 
			}
		} 
	}
}

Double click to view unformatted code.


Back to problem 3494