aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorInigoGutierrez <inigogf.95@gmail.com>2017-11-18 20:53:55 +0100
committerInigoGutierrez <inigogf.95@gmail.com>2017-11-18 20:53:55 +0100
commit5428ddfe0c0aacced1c2f3c61215ac07da8bfba1 (patch)
tree0a47118d9365fe66f4bbba68334223619a3b53c6
parent6ad12bd0a3304b956d4c282c6854155e477ccd01 (diff)
downloadAceptaElReto-5428ddfe0c0aacced1c2f3c61215ac07da8bfba1.tar.gz
AceptaElReto-5428ddfe0c0aacced1c2f3c61215ac07da8bfba1.zip
Problema 106 resuelto.
-rw-r--r--AceptaElReto/src/problemas/Problema106.java89
-rw-r--r--AceptaElReto/src/problemas/Problema119.java2
2 files changed, 90 insertions, 1 deletions
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;
}
-
+
}