Difference between revisions of "Solução: Problema da simplificação das frações (Bruno Barbosa)"
From AdonaiMedrado.Pro.Br
| 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 | + | |
| + | 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); | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | if(n | + | 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); | 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); } }