From 5428ddfe0c0aacced1c2f3c61215ac07da8bfba1 Mon Sep 17 00:00:00 2001 From: InigoGutierrez Date: Sat, 18 Nov 2017 20:53:55 +0100 Subject: Problema 106 resuelto. --- AceptaElReto/src/problemas/Problema106.java | 89 +++++++++++++++++++++++++++++ AceptaElReto/src/problemas/Problema119.java | 2 +- 2 files changed, 90 insertions(+), 1 deletion(-) create mode 100644 AceptaElReto/src/problemas/Problema106.java diff --git a/AceptaElReto/src/problemas/Problema106.java b/AceptaElReto/src/problemas/Problema106.java new file mode 100644 index 0000000..db7ce93 --- /dev/null +++ b/AceptaElReto/src/problemas/Problema106.java @@ -0,0 +1,89 @@ +package problemas; + +public class Problema106 { + + static java.util.Scanner in; + + public static void main(String[] args) { + in = new java.util.Scanner(System.in); + + String codigo = in.next(); + while ( !codigo.equals("0") ) { + System.out.println(casoDePrueba(codigo)); + codigo = in.next(); + } + } + + public static String casoDePrueba(String codigo) { + //System.out.println("Caso: " + codigo); + char controlDigit = codigo.charAt(codigo.length()-1); + String numberString = codigo.substring(0, codigo.length()-1); + //System.out.println("Control digit: " + controlDigit + "\nNumber: " + numberString); + // Aņadir ceros a la izquierda + if ( numberString.length() < 7 ) { + for (int i = numberString.length(); i < 7; i++) { + numberString = "0" + numberString; + } + } + else if ( numberString.length() > 7 && numberString.length() < 12 ) { + for (int i = numberString.length(); i < 12; i++) { + numberString = "0" + numberString; + } + } + //System.out.println("Full number: " + numberString); + int counter = 0; + for ( int i = 1; i <= numberString.length(); i++ ) { + if ( i%2 == 0 ) { + counter += Character.getNumericValue(numberString.charAt(numberString.length()-i)); + } + else { + counter += 3 * Character.getNumericValue(numberString.charAt(numberString.length()-i)); + } + } + //System.out.println("Counter: " + counter); + if ( ((counter + Character.getNumericValue(controlDigit)) % 10) != 0 ) { + return "NO"; + } + if ( numberString.length() > 12 ) { + return "NO"; + } + String result = "SI"; + if ( numberString.length() > 7 ) { + result += " " + getCountry(numberString); + } + return result; + } + + public static String getCountry(String numberString) { + if ( numberString.charAt(0) == '0' ) { + return "EEUU"; + } + String twoNumbers = numberString.substring(0, 2); + if ( twoNumbers.equals("50") ) { + return "Inglaterra"; + } + if ( twoNumbers.equals("70") ) { + return "Noruega"; + } + String threeNumbers = numberString.substring(0, 3); + if ( threeNumbers.equals("380") ) { + return "Bulgaria"; + } + if ( threeNumbers.equals("539") ) { + return "Irlanda"; + } + if ( threeNumbers.equals("560") ) { + return "Portugal"; + } + if ( threeNumbers.equals("759") ) { + return "Venezuela"; + } + if ( threeNumbers.equals("850") ) { + return "Cuba"; + } + if ( threeNumbers.equals("890") ) { + return "India"; + } + return "Desconocido"; + } +} diff --git a/AceptaElReto/src/problemas/Problema119.java b/AceptaElReto/src/problemas/Problema119.java index 1437a39..4912118 100644 --- a/AceptaElReto/src/problemas/Problema119.java +++ b/AceptaElReto/src/problemas/Problema119.java @@ -23,5 +23,5 @@ public class Problema119 { } return escudos; } - + } -- cgit v1.2.1