Difference between revisions of "Solução: Problema da simplificação das frações (Bruno Barbosa)"

From AdonaiMedrado.Pro.Br
Jump to: navigation, search
Line 2: Line 2:
  
 
#include <stdio.h>
 
#include <stdio.h>
 +
 +
int analisaImprime(int num, int x, int y);
 +
 +
int analisaImprime(int num, int x, int y){
 +
int i;
 +
i = num;
 +
 +
while((x%i!=0)||(y%i!=0)){
 +
i--;
 +
}
 +
if((x%i == 0)&&(y%i==0))
 +
printf("%d %d\n", x/i, y/i);
 +
 +
else
 +
printf("%d %d\n", x, y);
 +
}
  
 
int main(){
 
int main(){
int n, m, i;
+
 
 +
int n, m;
 
scanf("%d %d", &n, &m);
 
scanf("%d %d", &n, &m);
 
 
 
while(n || m){  
 
while(n || m){  
 
 
if(!n || !m){
+
if(!n || !m)
 
printf("%d %d\n", n, m);
 
printf("%d %d\n", n, m);
}
 
else{
 
if(n==m){
 
i = m;
 
printf("%d %d\n", n/i, m/i);
 
}
 
 
if(n>m){
 
i = m;
 
while((m%i!=0)||(n%i!=0)){
 
i--;
 
}
 
if((m%i == 0)&&(n%i==0))
 
printf("%d %d\n", n/i, m/i);
 
 
else
 
printf("%d %d\n", n, m);
 
 
}
 
 
 
if(n<m){
+
else{
i = n;
+
if(n==m)
while((m%i!=0)||(n%i!=0)){
+
printf("%d %d\n", n/n, m/n);
i--;
+
}
+
if(n>m)
if((m%i==0)&&(n%i==0))
+
analisaImprime(m , n, m);
printf("%d %d\n", n/i, m/i);
+
else
+
if(n<m)
printf("%d %d\n", n, m);
+
analisaImprime(n, n, m); 
}
+
+
 
}
 
}
 
scanf("%d %d", &n, &m);
 
scanf("%d %d", &n, &m);
 
}
 
}
 
}
 
}
 
 
 
 
</code>
 
</code>

Revision as of 22:16, 5 June 2009

#include <stdio.h>
 
int analisaImprime(int num, int x, int y);
 
int analisaImprime(int num, int x, int y){
	int i;
	i = num;
 
	while((x%i!=0)||(y%i!=0)){
		i--;
	}
	if((x%i == 0)&&(y%i==0))
		printf("%d %d\n", x/i, y/i);
 
	else
		printf("%d %d\n", x, y);
}
 
int main(){
 
	int n, m;
	scanf("%d %d", &n, &m);
 
	while(n || m){ 
 
		if(!n || !m)
			printf("%d %d\n", n, m);
 
		else{
			if(n==m)
				printf("%d %d\n", n/n, m/n);
 
			if(n>m)
				analisaImprime(m , n, m);
 
			if(n<m)
				analisaImprime(n, n, m);  
		}
		scanf("%d %d", &n, &m);
	}
}