Skip to content

BlueZX/Criptoaritmetica

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cryptoarithmetics

OBJECTIVE

Implement cryptoarithmetic algorithm using backtracking

PROBLEM TO SOLVE

The amount of riddles, hobbies and puzzles that have emerged over the centuries is immense. Among them, the mathematical puzzles constitute a category in itself, with riddles on arithmetic, combinatorial, topology or probability. Today we will remain with the so-called verbal arithmetic, or cryptoarithmetic. In it, the puzzles are operations mathematics in which the digits have been replaced by letters, and you have to find the original numbers.

CONDITIONS OF INPUT AND OUTPUT

Each test case is an arithmetic operation (sum or product) in which the digits have been replaced by lowercase letters of the English alphabet. The two available operators are ("+" or "*"), The operands will not have more than 8 lowercase letters; In addition, it is guaranteed that there will not be more than 10 letters different in total. For each test case, the program will write, in an XML file, the associated operation after converting the letters to digits, so that all occurrences of the same letter are converted to the same digit and vice versa, and the arithmetic operation is correct. It is guaranteed that the solution will be unique. A space must be added before and after each operator. An assignment is not considered valid in the that any of the numbers have superfluous zeros to the left, but you should keep in mind that some of the values could be 0, which is valid.

Criptoaritmetica

OBJETIVO

Implementar algoritmo de criptoaritmetica usando backtracking

PROBLEMA A RESOLVER

La cantidad de acertijos, pasatiempos y rompecabezas que han ido surgiendo a lo largo de los siglos es inmensa. Entre ellos, los puzzles matemáticos constituyen una categoría en sí misma, con acertijos sobre aritmética, combinatoria, topología o probabilidad. Hoy nos quedaremos con la llamada aritmética verbal, o criptoaritmética. En ella, los puzzles son operaciones matemáticas en las que los dígitos han sido sustituidos por letras, y hay que encontrar los números originales.

CONDICIONES DE ENTRADA Y SALIDA

Cada caso de prueba es una operación aritmética (suma o producto) en la que los dígitos han sido sustituidos por letras minúsculas del alfabeto inglés. Los dos operadores disponibles son ("+" o "*"), Los operandos no tendrán más de 8 letras minúsculas; además, se garantiza que no habrá más de 10 letras diferentes en total. Para cada caso de prueba el programa escribirá, en un archivo XML, la operación asociada tras convertir las letras a dígitos, de modo que todas las apariciones de la misma letra se conviertan al mismo dígito y viceversa, y la operación aritmética sea correcta. Se garantiza que la solución será única. Se debe añadir un espacio antes y después de cada operador. No se considera válida una asignación en la que cualquiera de los números tenga ceros superfluos a la izquierda, pero se debe tener en cuenta que alguno de los valores podría ser 0, que sí es válido.

Releases

No releases published

Packages

No packages published

Languages