Encuentra (a^b)%m donde ‘a’ es muy grande

Dados tres números a, b y m donde 1<=b,m<=10^6 y ‘a’ pueden ser muy grandes y contener hasta 10^6 dígitos. La tarea es encontrar (a^b)%m . Ejemplos:  Input : a = 3, b = 2, m = 4 Output : 1 Explanation : (3^2)%4 = 9%4 = 1 Input : a = 987584345091051645734583954832576, b = … Continue reading «Encuentra (a^b)%m donde ‘a’ es muy grande»

Dividir número en dos partes divisibles por números dados

Dado un número grande en formato de string, también se nos dan dos números f y s. Necesitamos dividir el número grande en dos partes continuas de modo que la primera parte sea divisible por f y la segunda parte sea divisible por s. Ejemplos:   Input: num = “246904096” f = 12345 s = 1024 Output: … Continue reading «Dividir número en dos partes divisibles por números dados»

Maximice el entero dado intercambiando pares de bits desiguales

Dado un entero positivo N , la tarea es determinar el entero máximo posible que se puede formar realizando las siguientes operaciones en el entero N dado : Convierta el entero en su representación binaria. Intercambia solo bits desiguales en su representación binaria. Ejemplos: Entrada : 11 Salida : 14 Explicación :  (11) 10 = … Continue reading «Maximice el entero dado intercambiando pares de bits desiguales»

Programa Python3 para la subsecuencia más larga de un número que tiene la misma rotación izquierda y derecha

Dada una string numérica S , la tarea es encontrar la longitud máxima de una subsecuencia que tenga su rotación a la izquierda igual a su rotación a la derecha. Ejemplos: Entrada: S = “100210601”  Salida: 4  Explicación:  La subsecuencia “0000” cumple la condición necesaria. La subsecuencia «1010» genera la string «0101» al girar a la … Continue reading «Programa Python3 para la subsecuencia más larga de un número que tiene la misma rotación izquierda y derecha»

Programa Java para sumar dos números representados por listas enlazadas – Conjunto 2

Dados dos números representados por dos listas enlazadas, escribe una función que devuelva la lista de suma. La lista de suma es una representación de lista enlazada de la suma de dos números de entrada. No está permitido modificar las listas. Además, no está permitido usar espacio adicional explícito (Sugerencia: use recursividad). Ejemplo  : Input: … Continue reading «Programa Java para sumar dos números representados por listas enlazadas – Conjunto 2»

Cómo almacenar una gran cantidad de más de 100 dígitos en C++

Dado un entero N en forma de string str que consta de más de 100 dígitos, la tarea es almacenar el valor para realizar una operación aritmética e imprimir el entero dado. Ejemplos:   Input: str = “54326789013892014531903492543267890138920145319034925432678901389201”  Output: 54326789013892014531903492543267890138920145319034925432678901389201 Input: str = “7890138920145319034925432678907890138920145319034925432678901903492543267890”  Output: 7890138920145319034925432678907890138920145319034925432678901903492543267890   Enfoque:  No hay ningún tipo de datos presente en C++ … Continue reading «Cómo almacenar una gran cantidad de más de 100 dígitos en C++»

Multiplica números grandes representados como strings

Dados dos números positivos como strings. Los números pueden ser muy grandes (pueden no caber en int largo largo), la tarea es encontrar el producto de estos dos números. Ejemplos:  Input : num1 = 4154 num2 = 51454 Output : 213739916 Input : num1 = 654154154151454545415415454 num2 = 63516561563156316545145146514654 Output : 41549622603955309777243716069997997007620439937711509062916 La idea se … Continue reading «Multiplica números grandes representados como strings»

Divisibilidad por 12 para un gran número

Dado un número grande, la tarea es comprobar si el número es divisible por 12 o no. Ejemplos:  Input : 12244824607284961224 Output : Yes Input : 92387493287593874594898678979792 Output : No Este es un enfoque muy simple. si un número es divisible por 4 y 3 entonces el número es divisible por 12.  Punto 1 . … Continue reading «Divisibilidad por 12 para un gran número»

Formar un número usando los dígitos de las esquinas de las potencias

Dados dos enteros N y X. Haz un número de tal manera que el número contenga el primer y el último dígito que aparecen en  . Ejemplos:   Input : N = 10, X = 5 Output : 1010101010 Explanation : 10^1 = 10 10^2 = 100 10^3 = 1000 10^4 = 10000 10^5 = 100000 … Continue reading «Formar un número usando los dígitos de las esquinas de las potencias»

El mayor número más pequeño posible usando solo una operación de intercambio

Dado un número no negativo N en forma de string. La tarea es aplicar como máximo una operación de intercambio en el número N para que el resultante sea más pequeño que N y sea el número más grande. Ejemplos:   Input :str = «12435» Output : 12345 Although the number 12354 will be the largest smaller … Continue reading «El mayor número más pequeño posible usando solo una operación de intercambio»