Programa java que calcula el número de cifras de un número entero de forma recursiva.
La solución recursiva se basa en lo siguiente:
Caso Base:
Si n < 10 el número tiene 1 cifra
Si n >=10 tiene las cifras de un número con una cifra menos, más 1.
Es decir, si por ejemplo el número es 1234, el número de cifras es las suma de cifras del número 123 más una.
Caso Base:
Si n < 10 el número tiene 1 cifra
Si n >=10 tiene las cifras de un número con una cifra menos, más 1.
Es decir, si por ejemplo el número es 1234, el número de cifras es las suma de cifras del número 123 más una.
El programa que calcula el número de cifras de un número entero de forma recursiva es el siguiente:
import java.util.Scanner;
public class CuentaCifrasRecursivo {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num;
do{
System.out.print("Introduce un numero entero >0 ");
num = sc.nextInt();
}while(num <= 0);
System.out.println("Número de cifras: " + numeroCifras(num));
}
//método recursivo para contar las cifras de un número
public static int numeroCifras(int n){
if(n < 10) { //caso base
return 1;
} else {
return 1 + numeroCifras(n/10);
}
}
}
Más ejemplos de recursividad
public class CuentaCifras {
ResponderEliminarpublic static int numerocifras(int n){
if(n<10)
return 1;
else return 1 + numerocifras(n/10);
public static void main(String[] args) {
int n =(Integer.parseInt(JOptionPane.showInputDialog("digite un numero mayor que dos cifras")));
JOptionPane.showMessageDialog(null,"numero de cifras" + cuentacifras.numerocifras(n));
}
}
pero esto no tiene recursividad.
Eliminarno manchen... ufff no pnse q solo sea eso...
ResponderEliminarHola, yo necesito ayuda para sacar un método recursivo que introduciendo un número por ejemplo 1007, tiene que decirme la cantidad de ceros que hay en el número, en este caso 2, alguna idea?
ResponderEliminarMae, brete de elementos en el tec? jaja
Eliminarhola, yo no sé como imprimir numeros pared recursivamente, es decir, si doy un 10, se imprima 2,4,6,8,10
ResponderEliminaragradecería la ayuda! Buena tarde
hola, yo no sé como imprimir numeros pared recursivamente, es decir, si doy un 10, se imprima 2,4,6,8,10
ResponderEliminaragradecería la ayuda! Buena tarde