Compruebe si un número dado es un cuadrado perfecto usando la búsqueda binaria

Comprueba si un número dado N es un cuadrado perfecto o no. En caso afirmativo, devuelva el número del cual es un cuadrado perfecto, de lo contrario, imprima -1. Ejemplos:  Entrada: N = 4900  Salida 70  Explicación:  4900 es un número cuadrado perfecto de 70 porque 70 * 70 = 4900 Entrada: N = 81  … Continue reading «Compruebe si un número dado es un cuadrado perfecto usando la búsqueda binaria»

Compruebe si el artículo se puede medir con una balanza y algunos pesos

Dados unos pesos de masas a 0 , a 1 , a 2 , …, a 100 , siendo a un número entero, y una balanza donde se pueden poner pesos a ambos lados de la balanza. Verifique si un artículo en particular de peso W se puede medir usando estos pesos y escala.  Restricciones: … Continue reading «Compruebe si el artículo se puede medir con una balanza y algunos pesos»

Número de formas de dividir un número dado como un conjunto de enteros en orden decreciente

Dados dos números y . La tarea es encontrar el número de formas en que a puede representarse mediante un conjunto tal que y la suma de estos números sea igual a a . Además (el tamaño máximo del conjunto no puede exceder m ). Ejemplos : Entrada : a = 4, m = 4 … Continue reading «Número de formas de dividir un número dado como un conjunto de enteros en orden decreciente»

Problemas de práctica recursiva con soluciones

Fundamentos – recursividad Funciones recursivas Recursión de cola Cuerdas – Dada una string, imprime todas las particiones palindrómicas posibles Comprobar si un número es palíndromo Imprime todas las strings posibles de longitud k que se pueden formar a partir de un conjunto de n caracteres Implementación recursiva de atoi() Encuentre todas las secuencias binarias de … Continue reading «Problemas de práctica recursiva con soluciones»

Eliminación de llamadas de cola

Hemos discutido (en recursión de cola ) que una función recursiva es recursiva de cola si la llamada recursiva es lo último que ejecuta la función.  C++ // An example of tail recursive function void print(int n) {     if (n < 0)         return;     cout << » » << n;       // The last executed statement … Continue reading «Eliminación de llamadas de cola»

Divida una array en K subarreglo con la condición dada

Dada una array arr[] y un entero K . La tarea es dividir el arreglo en K partes (subarreglo) de tal manera que la suma de los valores de todos los subarreglos sea mínima. El valor de cada subarreglo se define como:   Tome el máximo de ese subarreglo. Resta cada elemento del subarreglo con el … Continue reading «Divida una array en K subarreglo con la condición dada»

Recurrencia de cola para calcular la suma de los elementos de la array.

Dado un arreglo A[], necesitamos encontrar la suma de sus elementos usando el Método de Recursión de Cola . Por lo general, queremos lograr recurrencia de cola (una función recursiva en la que la llamada recursiva es lo último que hace la función) para que los compiladores puedan optimizar el código. Básicamente, si la llamada … Continue reading «Recurrencia de cola para calcular la suma de los elementos de la array.»

Programa recursivo para imprimir todos los números menores que N que consisten en dígitos 1 o 3 solamente

Dado un número entero N , la tarea es imprimir todos los números ≤ N que tienen sus dígitos como solo 1 o 3 . Ejemplos:   Entrada: N = 10  Salida: 3 1 Entrada: N = 20  Salida: 13 11 3 1   Acercarse:   Primero, verifique si el número es mayor que 0. Si es así, … Continue reading «Programa recursivo para imprimir todos los números menores que N que consisten en dígitos 1 o 3 solamente»

Programa recursivo para insertar una estrella entre un par de caracteres idénticos

Dada una string con caracteres repetidos, tenemos que insertar una estrella, es decir, «*» entre un par de caracteres idénticos adyacentes usando la recursividad.  Ejemplos:  Input : aabb Output : a*ab*b Input : xxxy Output : x*x*xy Acercarse:  Si hay una string vacía, simplemente regrese. Esto forma nuestra condición base . Compruebe si los dos … Continue reading «Programa recursivo para insertar una estrella entre un par de caracteres idénticos»