Difference between revisions of "Solução: Problema da simplificação das frações (Bruno Barbosa)"
From AdonaiMedrado.Pro.Br
(2 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 num, int x, int y); | ||
− | + | ||
− | int analisaImprime(int | + | int analisaImprime(int i, int x, int y){ |
− | + | ||
− | + | ||
− | + | ||
while((x%i!=0)||(y%i!=0)){ | while((x%i!=0)||(y%i!=0)){ | ||
i--; | i--; | ||
Line 14: | Line 12: | ||
if((x%i == 0)&&(y%i==0)) | if((x%i == 0)&&(y%i==0)) | ||
printf("%d %d\n", x/i, y/i); | printf("%d %d\n", x/i, y/i); | ||
− | + | ||
else | else | ||
printf("%d %d\n", x, y); | printf("%d %d\n", x, y); | ||
} | } | ||
− | + | ||
int main(){ | int main(){ | ||
− | + | ||
int n, m; | 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) | |
− | + | printf("%d %d\n", n/n, m); | |
− | if( | + | if(m != 0) |
− | printf("%d %d\n", | + | printf("%d %d\n", n, m/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); } }