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

From AdonaiMedrado.Pro.Br
Jump to: navigation, search
 
(3 intermediate revisions by 2 users not shown)
Line 2: Line 2:
  
 
#include <stdio.h>
 
#include <stdio.h>
 
+
 +
int analisaImprime(int num, int x, int y);
 +
 +
int analisaImprime(int i, int x, int y){
 +
 +
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);
+
 
}
+
if(n != 0)
else{
+
printf("%d %d\n", n/n, m);
if(n==m){
+
if(m != 0)
i = m;
+
printf("%d %d\n", n, m/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){
+
i = n;
+
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);
+
}
+
+
 
}
 
}
 +
 +
else
 +
analisaImprime(n, n, m); 
 +
 
scanf("%d %d", &n, &m);
 
scanf("%d %d", &n, &m);
 
}
 
}
 
}
 
}
+
 
+
 
</code>
 
</code>

Latest revision as of 18:53, 12 June 2009

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