Laboratorio 2 - Estructura de Datos

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 9

LABORATORIO 2

INTEGRANTES:
● Ccama Paucar Rey David
● Bruno Prado Manco
● Travezaño Gonzales, Jesús
● Saccatoma Calderon, Susan Paola

1. Construir una función recursiva que calcule la suma de los n primeros números naturales.

Código:
import java.util.Scanner;

public class Actividad1 {

public static void main(String[] args) {


Scanner sc = new Scanner(System.in);
int numb;
do{
System.out.print("Introduce un número entero : ");
numb = sc.nextInt();
}while(numb<=0);
System.out.println("Suma des los primeros numeros " + numb + " = " + sumaN(numb));

//método para calcular la suma de los primeros N números naturales


public static double sumaN(int n){
if(n == 1) //caso base
return 1;
else
return n + sumaN(n-1);
}
}

2. Construir una función recursiva que imprima la lista de números naturales comprendidos
entre dos valores a y d dados por el usuario
. CÓDIGO:
import java.util.Scanner;

public class DosNumeros {


public static int ListaImprimir(int a,int b){

if(a>b){
return b;
}else{
ImprimirDatos(a);
return a+(ListaImprimir(a+1, b));
}
}
public static int ImprimirDatos(int a){
int numero=a;
System.out.println("Recorrido:: "+a);
return a;
}

public static void main(String[] args) {


Scanner Sb = new Scanner(System.in);
int a,b,arreglo[];
do{
System.out.print("Digite valor para a: ");
a=Sb.nextInt();
System.out.print("\nDigite valor para b: ");
b=Sb.nextInt();
if(a>b){
System.out.println("\nnumeros no correcto,vuelva a digitar!!\n");
}
}while(a>b);
ListaImprimir(a, b);

3. Escribir una función recursiva que devuelva la cantidad de dígitos de un número entero.
código:

import java.util.Scanner;

public class ContarCifrasRecursivo {

public static void main(String[] args) {


int num = leerNumeroEntero("Introduce un número entero : ");
System.out.printf("%nEl número de cifras del número %d es %d", num,
cuentaCifras(num));
}

private static int cuentaCifras(int num){


if(num<10)
return 1;
else{
return 1 + cuentaCifras(num/10);
}
}

private static int leerNumeroEntero(String texto){


Scanner sc = new Scanner(System.in);
int numero = 0;
do{
System.out.print(texto);
numero = sc.nextInt();
}while(numero<=0);
sc.close();
return numero;
}
}

4. Escribir una función recursiva que calcule x^y mediante multiplicaciones sucesivas,
siendo x e y dos números enteros.

Código:

package pack;
import java.util.Scanner;
public class main {

public static void main(String[] args) {


Scanner sc= new Scanner(System.in);
int num2,num3;
do{
System.out.println("Ingrese un número mayor o igual a 0 a potenciar: ");
num2=sc.nextInt();
}while(num2<0);
do{
System.out.println("Ingrese un número mayor o igual a 0 que será la potencia: ");
num3=sc.nextInt();
}while(num3<0);
System.out.println(num2+" elevado a la "+num3+": "+potencia(num2, num3));
}
private static int potencia(int a, int b){
if(b==0){
return 1;
}else{
return a*potencia(a, b-1);
}
}
}

5. Escribir una función recursiva que calcule x*y mediante sumas sucesivas, siendo x e y
dos números enteros.
CÓDIGO:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class a73 {

public static void main(String args[])throws IOException {BufferedReader in;

in=new BufferedReader(new InputStreamReader(System.in)); int sum=0;

System.out.println("Introduzca el primer numero: "); int z=Integer.parseInt(in.readLine());

System.out.println("Introduzca el segundo numero: "); int v=Integer.parseInt(in.readLine());

multi(z,v,sum); }

public static void multi(int y, int w, int u) {if (y<=0)

{System.out.println("La multiplicacion es: "+u);} else

{u=u+w;

multi (y-1,w,u);} }

6. Calcula mediante un diseño recursivo el valor máximo de un vector de componentes


numéricas. - Bruno

7. Construir una función recursiva que cuente el número de secuencias de dos 1 seguidos
que hay en una cadena de caracteres que represente un número binario.
8. Escribir la función recursiva que recibiendo como parámetros una cadena de dígitos
hexadecimales y su longitud devuelva el valor decimal que representa dicha cadena

9. Modificar el programa anterior para que la secuencia de 1 sea de longitud m.

10. Calcular C (n,k) siendo: C (n,0)= C (n,n)=1 si n>=0 C (n,k)= C (n-1,k) + C (n-1,k-1) si
n>k>0
CÓDIGO:

También podría gustarte