View Code of Problem 3494

#include<stdio.h>
#include<string.h>
int main()
{
	char a,b,c,d,o;
	int prime[8]={2,3,5,7,11,13,17,19};
	while(scanf("%c/%c%c%c/%c",&a,&b,&o,&c,&d)!=EOF)
	{
		getchar();
		int z,m;
		m=(int)(b-'0')*(int)(d-'0');
		if(o=='+')
		{
			z=(int)(a-'0')*(int)(d-'0')+(int)(b-'0')*(int)(c-'0');	
		}
		else if(0=='-')
		{
			z=(int)(a-'0')*(int)(d-'0')-(int)(b-'0')*(int)(c-'0');	
		} 	
		
		if(z==0)
		{
			printf("0\n");	
		}
		else if(z==m)
		{
			printf("1\n");
		}
		else if(z>0)
		{
			for(int i=2;i<=10;i++)
			{
				if(m%i==0&&z%i==0)
				{
					m=m/i;
					z=z/i;
					if(m%i==0&&z%i==0)
					{
						i--;
					}
				
				}
			} 
			printf("%d/%d\n",z,m);
		}
		else if(z<0)
		{
			
			
			z=-z;
			for(int i=2;i<=10;i++)
			{
				if(m%i==0&&z%i==0)
				{
					m=m/i;
					z=z/i;	
					if(m%i==0&&z%i==0)
					{
						i--;
					}
				}
			}
			printf("-%d/%d\n",z,m);
		}
	
	} 
}

Double click to view unformatted code.


Back to problem 3494