From e900d3171d20b1edf542add93813bf18267c35c2 Mon Sep 17 00:00:00 2001 From: InigoGutierrez Date: Sat, 18 Nov 2017 13:26:11 +0100 Subject: =?UTF-8?q?Creaci=C3=B3n=20de=20paquetes.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AceptaElReto/src/Problema100.java | 77 ---------------------------- AceptaElReto/src/Problema397.java | 22 -------- AceptaElReto/src/problemas/Problema100.java | 78 +++++++++++++++++++++++++++++ AceptaElReto/src/problemas/Problema397.java | 23 +++++++++ 4 files changed, 101 insertions(+), 99 deletions(-) delete mode 100644 AceptaElReto/src/Problema100.java delete mode 100644 AceptaElReto/src/Problema397.java create mode 100644 AceptaElReto/src/problemas/Problema100.java create mode 100644 AceptaElReto/src/problemas/Problema397.java diff --git a/AceptaElReto/src/Problema100.java b/AceptaElReto/src/Problema100.java deleted file mode 100644 index aa94a98..0000000 --- a/AceptaElReto/src/Problema100.java +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Para cada caso de prueba, el programa indicará el número de vueltas - * que se debe dar a la rutina de Kaprekar para alcanzar el 6174. - * Para los números repdigits deberá escribir 8. - * Para la propia constante de Kaprekar deberá indicar 0. - */ - -import java.util.Arrays; - -public class Problema100 { - - public static void main(String[] args) { - - int counter; - final String KAPREKAR_STRING = "6174"; - - for ( String arg: args ) { - //System.out.println("Input: " + arg); - if ( arg.equals(KAPREKAR_STRING) ) { - System.out.println(0); - } - else { - counter = 0; - while ( !arg.equals(KAPREKAR_STRING) && counter < 8 ) { - arg = nextKaprekar(arg); - counter++; - //System.out.println("Iteration " + counter + ": " + arg); - } - System.out.println(counter); - } - - } - - } - - private static String nextKaprekar(String arg) { - char[] ascending = new char[4]; - char[] chars = arg.toCharArray(); - for ( int i = 0; i < 4; i++ ) { - if (!(i >= chars.length) ) { - ascending[i] = chars[i]; - } - else { - ascending[i] = '0'; - } - } - // Order the array in ascending order - Arrays.sort(ascending); - //System.out.println("Ascending ordered for " + arg + ": " + charArrayToString(ascending)); - - // Compute new value - int ascendingInt = Character.getNumericValue(ascending[0])*1000 - + Character.getNumericValue(ascending[1])*100 - + Character.getNumericValue(ascending[2])*10 - + Character.getNumericValue(ascending[3]); - int descendingInt = Character.getNumericValue(ascending[3])*1000 - + Character.getNumericValue(ascending[2])*100 - + Character.getNumericValue(ascending[1])*10 - + Character.getNumericValue(ascending[0]); - //System.out.println("Result: " + String.valueOf(descendingInt - ascendingInt)); - return String.valueOf(descendingInt - ascendingInt); - } - - /** - * For testing. - * @param charArray - * @return String corresponding to charArray. - */ - /*public static String charArrayToString(char[] charArray) { - String result = ""; - for ( int i = 0; i < charArray.length; i++ ) { - result += String.valueOf(Character.getNumericValue(charArray[i])); - } - return result; - }*/ - -} diff --git a/AceptaElReto/src/Problema397.java b/AceptaElReto/src/Problema397.java deleted file mode 100644 index 84945ac..0000000 --- a/AceptaElReto/src/Problema397.java +++ /dev/null @@ -1,22 +0,0 @@ - -public class Problema397 { - - public static void main(String[] args) { - Integer input; - int counter = 0; - String iString; - - for ( String arg: args ) { - input = Integer.valueOf(arg); - counter = 0; - for ( Integer i = 1 ; i <= input; i++ ) { - iString = i.toString(); - for ( int j = 0; j < iString.length(); j++ ) { - counter += Integer.valueOf(String.valueOf(iString.charAt(j))); - } - } - System.out.println(counter); - } - } - -} diff --git a/AceptaElReto/src/problemas/Problema100.java b/AceptaElReto/src/problemas/Problema100.java new file mode 100644 index 0000000..723e2c6 --- /dev/null +++ b/AceptaElReto/src/problemas/Problema100.java @@ -0,0 +1,78 @@ +package problemas; +/* + * Para cada caso de prueba, el programa indicará el número de vueltas + * que se debe dar a la rutina de Kaprekar para alcanzar el 6174. + * Para los números repdigits deberá escribir 8. + * Para la propia constante de Kaprekar deberá indicar 0. + */ + +import java.util.Arrays; + +public class Problema100 { + + public static void main(String[] args) { + + int counter; + final String KAPREKAR_STRING = "6174"; + + for ( String arg: args ) { + //System.out.println("Input: " + arg); + if ( arg.equals(KAPREKAR_STRING) ) { + System.out.println(0); + } + else { + counter = 0; + while ( !arg.equals(KAPREKAR_STRING) && counter < 8 ) { + arg = nextKaprekar(arg); + counter++; + //System.out.println("Iteration " + counter + ": " + arg); + } + System.out.println(counter); + } + + } + + } + + private static String nextKaprekar(String arg) { + char[] ascending = new char[4]; + char[] chars = arg.toCharArray(); + for ( int i = 0; i < 4; i++ ) { + if (!(i >= chars.length) ) { + ascending[i] = chars[i]; + } + else { + ascending[i] = '0'; + } + } + // Order the array in ascending order + Arrays.sort(ascending); + //System.out.println("Ascending ordered for " + arg + ": " + charArrayToString(ascending)); + + // Compute new value + int ascendingInt = Character.getNumericValue(ascending[0])*1000 + + Character.getNumericValue(ascending[1])*100 + + Character.getNumericValue(ascending[2])*10 + + Character.getNumericValue(ascending[3]); + int descendingInt = Character.getNumericValue(ascending[3])*1000 + + Character.getNumericValue(ascending[2])*100 + + Character.getNumericValue(ascending[1])*10 + + Character.getNumericValue(ascending[0]); + //System.out.println("Result: " + String.valueOf(descendingInt - ascendingInt)); + return String.valueOf(descendingInt - ascendingInt); + } + + /** + * For testing. + * @param charArray + * @return String corresponding to charArray. + */ + /*public static String charArrayToString(char[] charArray) { + String result = ""; + for ( int i = 0; i < charArray.length; i++ ) { + result += String.valueOf(Character.getNumericValue(charArray[i])); + } + return result; + }*/ + +} diff --git a/AceptaElReto/src/problemas/Problema397.java b/AceptaElReto/src/problemas/Problema397.java new file mode 100644 index 0000000..f4a0411 --- /dev/null +++ b/AceptaElReto/src/problemas/Problema397.java @@ -0,0 +1,23 @@ +package problemas; + +public class Problema397 { + + public static void main(String[] args) { + Integer input; + int counter = 0; + String iString; + + for ( String arg: args ) { + input = Integer.valueOf(arg); + counter = 0; + for ( Integer i = 1 ; i <= input; i++ ) { + iString = i.toString(); + for ( int j = 0; j < iString.length(); j++ ) { + counter += Integer.valueOf(String.valueOf(iString.charAt(j))); + } + } + System.out.println(counter); + } + } + +} -- cgit v1.2.1