Hola compañeros, en un ejercicio me pregunta que dados 2 numeros (numerador y denominador) haga las fracciones, por ejemplo:
Numerador: 120 ->la llamamos "M"
Denominador: 80->la llamamos "N"
y nos muestre por pantalla:
120/80 = 60/40 = 30/20 = 15/10 = 3/2
la comprobacion que hace es:
1º Numerador y Denominador es divisible entre 2, si, por tanto 60/40
2º 60/40 es divisible entre 2,si, por tanto 30/20
3º 30/20 es divisible entre 2, si, por tanto 15/10
4º 15/10 es divisible entre 2 (NO), y entre 3 (NO), y entre 4(NO), y entre 5(SI), por tanto 3/2.
mi idea era hacerlo con bucles do/while.
asi que he puesto 3 bucles do/while.
HACER:{
M=M/2
N=N/2
}
MIENTRAS:
M%2==0 y N%2==0;
HACER:{
M=M/3
N=N/3
}
MIENTRAS:
M%3==0 y N%3==0;
HACER:{
M=M/5
N=N/5
}
MIENTRAS:
M%5==0 y N%5==0;
NOTA: si os habeis fijado no he puesto que sea divisible entre 4, puesto que si le ponems valor cuatro (a numerador o denominador) no queremos que nos saque directamente la simplificacion, sino que compruebe que sea divisible entre2-3-4-5...
con la especie de algoritmo que os he puesto, me sale por pantalla lo siguiente.
120/80 = 60/40 = 30/20 =15/10 =5/3 1/0
ni siquiera me saca el ultimo igual, y las 2 ultimas fracciones están mal.
Aparte que si le pones de valores al principio 7 y 1, te hace un bucle infinito de 0/0.
Así que, era para ver si me podíais echar un cable, gracias.