También tengo que hacer un programa que calcule el máximo común divisor de dos números.
Lo primero que se me ha ocurrido es hacerlo mediante el uso de bucles while y un array para almacenar los divisores de cada número.
De momento he hecho esto, pero hay algún fallo, porque se ejecuta pero no pone los números.
Gracias de antemano.
Using perl Syntax Highlighting
- print "Introduce un numero:\n";
- $a = <STDIN>;
- $n = 2;
- while ($a%$n > 0)
- {
- $c = $a/$n;
- if ($a%$n == 0)
- {
- push @divisores, $n;
- }
- while ($c > 1)
- {
- $c/$n;
- } $n++;
- }
- print "Los divisores son @divisores";
Coloreado en 0.004 segundos, usando GeSHi 1.0.8.4
He "investigado" un poco y he encontrado una forma de hallar el mcd en C, que consiste en restar los números si uno es mayor que el otro. De momento he hecho lo siguiente, creo que el problema está en la declaración de las variables pero realmente no lo sé.
¿Puedes ayudarme?
Using perl Syntax Highlighting
- print "Introduce un número:\n";
- $a = <STDIN>;
- $n = 2;
- while ($a%$n > 0)
- {
- $c = $a/$n;
- if ($a%$n == 0)
- {
- push @divisores, $n;
- }
- while ($c > 1)
- {
- $c/$n;
- } $n++;
- }
- print "Los divisores son @divisores";
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4