Mostrando entradas con la etiqueta solucionado. Mostrar todas las entradas
Mostrando entradas con la etiqueta solucionado. Mostrar todas las entradas

miércoles, 8 de abril de 2015

solucion 113 El poder de la criptografia


/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package UVA_Pendientes;

import java.math.BigInteger;
import java.util.Scanner;

/**
 *
 * @author DAM116
 */
 public class UVA00113_PowefOfCrytografy {

    public static void main(String[] args) {

        Scanner entrada = new Scanner(System.in);
        int exp;
        BigInteger base;

        while (entrada.hasNext()) {
            exp = entrada.nextInt();
            base = entrada.nextBigInteger();
            System.out.println(Math.round(Math.pow(base.doubleValue(), (double)1/exp)));
        }
    }
}

miércoles, 4 de marzo de 2015

solucion 10071 volviendo a la fisica de la escuela

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package UVA_Pendientes;

import java.util.Scanner;

/**
 *
 * @author DAM116
 */
public class UVA10071_VueltaFisicaEscuela {
    public static void main(String args[]) {
        Scanner entrada = new Scanner(System.in);
        while (entrada.hasNext()) {
            System.out.println(entrada.nextInt() * entrada.nextInt() * 2);
        }
    }
}

martes, 3 de marzo de 2015

solucion 386 cubos perfectos


 *
 * @author DAM116
 */
public class UVA386_CubosPerfectos {

    public static void main(String[] args) {
        int cubo[] = new int[201];
        for (int i = 1; i <= 200; i++) {
            cubo[i] = i * i * i;
        }
        for (int a = 6; a <= 200; a++) {
            for (int b = 2; b < a; b++) {
                for (int c = b + 1; c < a; c++) {
                    for (int d = c + 1; d < a; d++) {
                        if (cubo[a] == cubo[b] + cubo[c] + cubo[d]) {
                            System.out.println("Cube = " + a + ", Triple = (" + b + "," + c + "," + d + ")");
                        }
                    }
                }
            }
        }
    }
}





OTRA SOLUCION





/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package UVA_Pendientes;

/**
 *
 * @author DAM116
 */
public class UVA386_CubosPerfectosPrint {

    public static void main(String[] args) {
        System.out.println("Cube = 6, Triple = (3,4,5)");
        System.out.println("Cube = 12, Triple = (6,8,10)");
        System.out.println("Cube = 18, Triple = (2,12,16)");
        System.out.println("Cube = 18, Triple = (9,12,15)");
        System.out.println("Cube = 19, Triple = (3,10,18)");
        System.out.println("Cube = 20, Triple = (7,14,17)");
        System.out.println("Cube = 24, Triple = (12,16,20)");
        System.out.println("Cube = 25, Triple = (4,17,22)");
        System.out.println("Cube = 27, Triple = (3,18,24)");
        System.out.println("Cube = 28, Triple = (18,19,21)");
        System.out.println("Cube = 29, Triple = (11,15,27)");
        System.out.println("Cube = 30, Triple = (15,20,25)");
        System.out.println("Cube = 36, Triple = (4,24,32)");
        System.out.println("Cube = 36, Triple = (18,24,30)");
        System.out.println("Cube = 38, Triple = (6,20,36)");
        System.out.println("Cube = 40, Triple = (14,28,34)");
        System.out.println("Cube = 41, Triple = (2,17,40)");
        System.out.println("Cube = 41, Triple = (6,32,33)");
        System.out.println("Cube = 42, Triple = (21,28,35)");
        System.out.println("Cube = 44, Triple = (16,23,41)");
        System.out.println("Cube = 45, Triple = (5,30,40)");
        System.out.println("Cube = 46, Triple = (3,36,37)");
        System.out.println("Cube = 46, Triple = (27,30,37)");
        System.out.println("Cube = 48, Triple = (24,32,40)");
        System.out.println("Cube = 50, Triple = (8,34,44)");
        System.out.println("Cube = 53, Triple = (29,34,44)");
        System.out.println("Cube = 54, Triple = (6,36,48)");
        System.out.println("Cube = 54, Triple = (12,19,53)");
        System.out.println("Cube = 54, Triple = (27,36,45)");
        System.out.println("Cube = 56, Triple = (36,38,42)");
        System.out.println("Cube = 57, Triple = (9,30,54)");
        System.out.println("Cube = 58, Triple = (15,42,49)");
        System.out.println("Cube = 58, Triple = (22,30,54)");
        System.out.println("Cube = 60, Triple = (21,42,51)");
        System.out.println("Cube = 60, Triple = (30,40,50)");
        System.out.println("Cube = 63, Triple = (7,42,56)");
        System.out.println("Cube = 66, Triple = (33,44,55)");
        System.out.println("Cube = 67, Triple = (22,51,54)");
        System.out.println("Cube = 69, Triple = (36,38,61)");
        System.out.println("Cube = 70, Triple = (7,54,57)");
        System.out.println("Cube = 71, Triple = (14,23,70)");
        System.out.println("Cube = 72, Triple = (8,48,64)");
        System.out.println("Cube = 72, Triple = (34,39,65)");
        System.out.println("Cube = 72, Triple = (36,48,60)");
        System.out.println("Cube = 75, Triple = (12,51,66)");
        System.out.println("Cube = 75, Triple = (38,43,66)");
        System.out.println("Cube = 76, Triple = (12,40,72)");
        System.out.println("Cube = 76, Triple = (31,33,72)");
        System.out.println("Cube = 78, Triple = (39,52,65)");
        System.out.println("Cube = 80, Triple = (28,56,68)");
        System.out.println("Cube = 81, Triple = (9,54,72)");
        System.out.println("Cube = 81, Triple = (25,48,74)");
        System.out.println("Cube = 82, Triple = (4,34,80)");
        System.out.println("Cube = 82, Triple = (12,64,66)");
        System.out.println("Cube = 82, Triple = (19,60,69)");
        System.out.println("Cube = 84, Triple = (28,53,75)");
        System.out.println("Cube = 84, Triple = (42,56,70)");
        System.out.println("Cube = 84, Triple = (54,57,63)");
        System.out.println("Cube = 85, Triple = (50,61,64)");
        System.out.println("Cube = 87, Triple = (20,54,79)");
        System.out.println("Cube = 87, Triple = (26,55,78)");
        System.out.println("Cube = 87, Triple = (33,45,81)");
        System.out.println("Cube = 87, Triple = (38,48,79)");
        System.out.println("Cube = 88, Triple = (21,43,84)");
        System.out.println("Cube = 88, Triple = (25,31,86)");
        System.out.println("Cube = 88, Triple = (32,46,82)");
        System.out.println("Cube = 89, Triple = (17,40,86)");
        System.out.println("Cube = 90, Triple = (10,60,80)");
        System.out.println("Cube = 90, Triple = (25,38,87)");
        System.out.println("Cube = 90, Triple = (45,60,75)");
        System.out.println("Cube = 90, Triple = (58,59,69)");
        System.out.println("Cube = 92, Triple = (6,72,74)");
        System.out.println("Cube = 92, Triple = (54,60,74)");
        System.out.println("Cube = 93, Triple = (32,54,85)");
        System.out.println("Cube = 95, Triple = (15,50,90)");
        System.out.println("Cube = 96, Triple = (19,53,90)");
        System.out.println("Cube = 96, Triple = (48,64,80)");
        System.out.println("Cube = 97, Triple = (45,69,79)");
        System.out.println("Cube = 99, Triple = (11,66,88)");
        System.out.println("Cube = 100, Triple = (16,68,88)");
        System.out.println("Cube = 100, Triple = (35,70,85)");
        System.out.println("Cube = 102, Triple = (51,68,85)");
        System.out.println("Cube = 103, Triple = (12,31,102)");
        System.out.println("Cube = 105, Triple = (33,70,92)");
        System.out.println("Cube = 106, Triple = (58,68,88)");
        System.out.println("Cube = 108, Triple = (12,72,96)");
        System.out.println("Cube = 108, Triple = (13,51,104)");
        System.out.println("Cube = 108, Triple = (15,82,89)");
        System.out.println("Cube = 108, Triple = (24,38,106)");
        System.out.println("Cube = 108, Triple = (54,72,90)");
        System.out.println("Cube = 110, Triple = (29,75,96)");
        System.out.println("Cube = 111, Triple = (16,47,108)");
        System.out.println("Cube = 112, Triple = (72,76,84)");
        System.out.println("Cube = 113, Triple = (50,74,97)");
        System.out.println("Cube = 114, Triple = (18,60,108)");
        System.out.println("Cube = 114, Triple = (57,76,95)");
        System.out.println("Cube = 115, Triple = (3,34,114)");
        System.out.println("Cube = 116, Triple = (23,86,97)");
        System.out.println("Cube = 116, Triple = (30,84,98)");
        System.out.println("Cube = 116, Triple = (44,60,108)");
        System.out.println("Cube = 117, Triple = (13,78,104)");
        System.out.println("Cube = 120, Triple = (9,55,116)");
        System.out.println("Cube = 120, Triple = (42,84,102)");
        System.out.println("Cube = 120, Triple = (60,80,100)");
        System.out.println("Cube = 121, Triple = (49,84,102)");
        System.out.println("Cube = 122, Triple = (19,92,101)");
        System.out.println("Cube = 123, Triple = (6,51,120)");
        System.out.println("Cube = 123, Triple = (18,96,99)");
        System.out.println("Cube = 123, Triple = (44,51,118)");
        System.out.println("Cube = 125, Triple = (20,85,110)");
        System.out.println("Cube = 126, Triple = (14,84,112)");
        System.out.println("Cube = 126, Triple = (23,94,105)");
        System.out.println("Cube = 126, Triple = (63,84,105)");
        System.out.println("Cube = 127, Triple = (13,65,121)");
        System.out.println("Cube = 129, Triple = (38,57,124)");
        System.out.println("Cube = 132, Triple = (5,76,123)");
        System.out.println("Cube = 132, Triple = (48,69,123)");
        System.out.println("Cube = 132, Triple = (66,88,110)");
        System.out.println("Cube = 133, Triple = (21,70,126)");
        System.out.println("Cube = 134, Triple = (44,102,108)");
        System.out.println("Cube = 134, Triple = (86,95,97)");
        System.out.println("Cube = 135, Triple = (15,90,120)");
        System.out.println("Cube = 137, Triple = (44,73,128)");
        System.out.println("Cube = 138, Triple = (9,108,111)");
        System.out.println("Cube = 138, Triple = (69,92,115)");
        System.out.println("Cube = 138, Triple = (72,76,122)");
        System.out.println("Cube = 138, Triple = (81,90,111)");
        System.out.println("Cube = 139, Triple = (94,96,99)");
        System.out.println("Cube = 140, Triple = (14,108,114)");
        System.out.println("Cube = 140, Triple = (49,98,119)");
        System.out.println("Cube = 140, Triple = (90,95,105)");
        System.out.println("Cube = 141, Triple = (72,85,122)");
        System.out.println("Cube = 142, Triple = (28,46,140)");
        System.out.println("Cube = 142, Triple = (31,64,137)");
        System.out.println("Cube = 144, Triple = (16,96,128)");
        System.out.println("Cube = 144, Triple = (68,78,130)");
        System.out.println("Cube = 144, Triple = (72,96,120)");
        System.out.println("Cube = 145, Triple = (12,81,136)");
        System.out.println("Cube = 145, Triple = (55,75,135)");
        System.out.println("Cube = 147, Triple = (22,75,140)");
        System.out.println("Cube = 150, Triple = (24,102,132)");
        System.out.println("Cube = 150, Triple = (71,73,138)");
        System.out.println("Cube = 150, Triple = (75,100,125)");
        System.out.println("Cube = 150, Triple = (76,86,132)");
        System.out.println("Cube = 151, Triple = (46,47,148)");
        System.out.println("Cube = 152, Triple = (24,80,144)");
        System.out.println("Cube = 152, Triple = (62,66,144)");
        System.out.println("Cube = 153, Triple = (17,102,136)");
        System.out.println("Cube = 156, Triple = (65,87,142)");
        System.out.println("Cube = 156, Triple = (78,104,130)");
        System.out.println("Cube = 159, Triple = (3,121,131)");
        System.out.println("Cube = 159, Triple = (87,102,132)");
        System.out.println("Cube = 160, Triple = (56,112,136)");
        System.out.println("Cube = 160, Triple = (69,123,124)");
        System.out.println("Cube = 162, Triple = (18,108,144)");
        System.out.println("Cube = 162, Triple = (36,57,159)");
        System.out.println("Cube = 162, Triple = (50,96,148)");
        System.out.println("Cube = 162, Triple = (59,93,148)");
        System.out.println("Cube = 162, Triple = (81,108,135)");
        System.out.println("Cube = 164, Triple = (8,68,160)");
        System.out.println("Cube = 164, Triple = (24,128,132)");
        System.out.println("Cube = 164, Triple = (38,120,138)");
        System.out.println("Cube = 164, Triple = (69,99,146)");
        System.out.println("Cube = 167, Triple = (12,86,159)");
        System.out.println("Cube = 168, Triple = (56,106,150)");
        System.out.println("Cube = 168, Triple = (84,112,140)");
        System.out.println("Cube = 168, Triple = (108,114,126)");
        System.out.println("Cube = 170, Triple = (96,107,141)");
        System.out.println("Cube = 170, Triple = (100,122,128)");
        System.out.println("Cube = 171, Triple = (19,114,152)");
        System.out.println("Cube = 171, Triple = (27,90,162)");
        System.out.println("Cube = 171, Triple = (54,80,163)");
        System.out.println("Cube = 171, Triple = (107,108,136)");
        System.out.println("Cube = 174, Triple = (40,108,158)");
        System.out.println("Cube = 174, Triple = (45,126,147)");
        System.out.println("Cube = 174, Triple = (47,97,162)");
        System.out.println("Cube = 174, Triple = (52,110,156)");
        System.out.println("Cube = 174, Triple = (66,90,162)");
        System.out.println("Cube = 174, Triple = (76,96,158)");
        System.out.println("Cube = 174, Triple = (87,116,145)");
        System.out.println("Cube = 175, Triple = (28,119,154)");
        System.out.println("Cube = 176, Triple = (25,92,167)");
        System.out.println("Cube = 176, Triple = (42,86,168)");
        System.out.println("Cube = 176, Triple = (50,62,172)");
        System.out.println("Cube = 176, Triple = (64,92,164)");
        System.out.println("Cube = 177, Triple = (48,137,142)");
        System.out.println("Cube = 178, Triple = (34,80,172)");
        System.out.println("Cube = 178, Triple = (48,133,147)");
        System.out.println("Cube = 179, Triple = (17,57,177)");
        System.out.println("Cube = 180, Triple = (20,120,160)");
        System.out.println("Cube = 180, Triple = (50,76,174)");
        System.out.println("Cube = 180, Triple = (63,126,153)");
        System.out.println("Cube = 180, Triple = (90,120,150)");
        System.out.println("Cube = 180, Triple = (116,118,138)");
        System.out.println("Cube = 181, Triple = (108,109,150)");
        System.out.println("Cube = 184, Triple = (12,144,148)");
        System.out.println("Cube = 184, Triple = (108,120,148)");
        System.out.println("Cube = 185, Triple = (57,68,180)");
        System.out.println("Cube = 185, Triple = (68,113,166)");
        System.out.println("Cube = 186, Triple = (18,121,167)");
        System.out.println("Cube = 186, Triple = (64,108,170)");
        System.out.println("Cube = 186, Triple = (93,124,155)");
        System.out.println("Cube = 187, Triple = (58,131,160)");
        System.out.println("Cube = 188, Triple = (115,122,149)");
        System.out.println("Cube = 189, Triple = (21,46,188)");
        System.out.println("Cube = 189, Triple = (21,126,168)");
        System.out.println("Cube = 190, Triple = (30,100,180)");
        System.out.println("Cube = 190, Triple = (56,133,163)");
        System.out.println("Cube = 191, Triple = (39,146,156)");
        System.out.println("Cube = 192, Triple = (34,123,173)");
        System.out.println("Cube = 192, Triple = (38,106,180)");
        System.out.println("Cube = 192, Triple = (96,128,160)");
        System.out.println("Cube = 193, Triple = (25,68,190)");
        System.out.println("Cube = 194, Triple = (90,138,158)");
        System.out.println("Cube = 196, Triple = (126,133,147)");
        System.out.println("Cube = 197, Triple = (53,58,194)");
        System.out.println("Cube = 198, Triple = (22,132,176)");
        System.out.println("Cube = 198, Triple = (27,46,197)");
        System.out.println("Cube = 198, Triple = (73,135,170)");
        System.out.println("Cube = 198, Triple = (99,132,165)");
        System.out.println("Cube = 199, Triple = (6,127,180)");
        System.out.println("Cube = 200, Triple = (32,136,176)");
        System.out.println("Cube = 200, Triple = (70,140,170)");
    }

}


Solucion 12342 Calculadora de taxas

 * and open the template in the editor.
 */
package UVA_Pendientes;

import java.util.Scanner;

/**
 *
 * @author DAM116
 */
public class UVA12342_TaxCalculator {

    public static void main(String[] args) {
        Scanner entrada = new Scanner(System.in);
        int casos, num;
        casos = entrada.nextInt();
        for (int i = 0; i < casos; i++) {
            num = entrada.nextInt();
            System.out.println("Case " + (i + 1) + ": " + devolverImpuesto(num));
        }
    }

    static int devolverImpuesto(int num) {
        double diff, taxa = 0;
        if (num > 180000) {
            num -= 180000;
            if (num > 0) {
                diff = Math.min(num, 300000);
                num -= diff;
                taxa += 0.1 * diff;
            }
            if (num > 0) {
                diff = Math.min(num, 400000);
                num -= diff;
                taxa += 0.15 * diff;
            }
            if (num > 0) {
                diff = Math.min(num, 300000);
                num -= diff;
                taxa += 0.2 * diff;
            }

            if (num > 0) {
                taxa += 0.25 * num;
            }
            taxa = Math.max(2000, taxa);
        }
        if (taxa != 0 && taxa != 2000) {
            taxa = Math.round(taxa + 0.49);
        }
        return (int) taxa;
    }
}

miércoles, 4 de febrero de 2015

solucion 11799 horror dash

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package UVA_RESOLTO;

import java.util.Scanner;

/**
 *
 * @author dam116
 */
public class UVA11799_HorrorDash {

    public static void main(String[] args) {
        Scanner entrada = new Scanner(System.in);
        int num;
        String cadena;
        String[] numeros;
        num = entrada.nextInt();
        entrada.nextLine();
        int max = 0;
        for (int i = 1; i <= num; i++) {
            cadena = entrada.nextLine();
            numeros = cadena.split(" ");
            for (String numero : numeros) {

                max = Math.max(max, Integer.parseInt(numero));
            }
            System.out.println("Case " + i + ": " + max);
            max = 0;
        }
    }
}

solucion 100 El problema 3n+1

public class UVA100_3nMAS1 {

    public static void main(String[] args) {
        Scanner entrada = new Scanner(System.in);
        int a, b, cont, max = 0, num, inicio, fin;
        do {
            a = entrada.nextInt();
            b = entrada.nextInt();
            inicio = Math.min(a, b);
            fin = Math.max(a, b);
            for (int i = inicio; i <= fin; i++) {
                cont = 1;
                num = i;
                while (num != 1) {
                    if (num % 2 == 0) {
                        num /= 2;
                    } else {
                        num = num * 3 + 1;
                    }
                    cont++;
                }
                max = Math.max(max, cont);
            }
        System.out.printf("%d %d %d%n", a, b, max);
        max = 0;
        } while (entrada.hasNext());
    }
}

Solución 100 - El problema 3n + 1


package The_3n_problem;

import java.util.Scanner;

public class The_3n_1_problem {

    public static void main(String[] args) {
        Scanner leer = new Scanner(System.in);
        int mayor, num1, num2, max, min;

        do {
            mayor = 0;
            num1 = leer.nextInt();
            num2 = leer.nextInt();
         
            if (num1 > num2) {
                max = num1;
                min = num2;
            } else {
                max = num2;
                min = num1;
            }
         
            for (int i = min; i <= max; i++) {
                if (get3n(i) > mayor) {
                    mayor = get3n(i);
                }
            }
            System.out.println(num1 + " " + num2 + " " + mayor);

        } while (leer.hasNext());
    }
 

sábado, 31 de enero de 2015

solucion 11777 Automatizar los grados

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package programame1;

import java.util.Scanner;

/**
 *
 * @author Santi
 */
public class UVA11777_AutomatizarGrados {

    public static void main(String[] args) {
        Scanner entrada = new Scanner(System.in);
        int cant;
        int num1, num2, num3, num4, num5, num6, num7;
        cant = entrada.nextInt();
        for (int i = 1; i <= cant; i++) {
            num1 = entrada.nextInt();
            num2 = entrada.nextInt();
            num3 = entrada.nextInt();
            num4 = entrada.nextInt();
            num5 = entrada.nextInt();
            num6 = entrada.nextInt();
            num7 = entrada.nextInt();
            mostrarNota(i, calculaNota(num1, num2, num3, num4, num5, num6, num7));
        }
    }

    static int calculaNota(int num1, int num2, int num3, int num4, int num5, int num6, int num7) {
        int nota;
        int media = 0;
        nota = num1 + num2 + num3 + num4;
        if (num5 >= num6 || num5 >= num7) {
            media += num5;
        }
        if (num6 >= num5 || num6 >= num7) {
            media += num6;
        }
        if (num7 > num5 || num7 > num6) {
            media += num7;
        }
        nota += media / 2;
        return nota;
    }

    static void mostrarNota(int caso, int nota) {
        char calificacion;
        if (nota >= 90) {
            calificacion = 'A';
        } else if (nota >= 80) {
            calificacion = 'B';
        } else if (nota >= 70) {
            calificacion = 'C';
        } else if (nota >= 60) {
            calificacion = 'D';
        } else {
            calificacion = 'F';
        }
        System.out.println("Case " + caso + ": " + calificacion);
    }
}

solucion 11727 Recortes

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package programame1;

import java.util.Scanner;

/**
 *
 * @author Santi
 */
public class UVA11727_Recortes {

    public static void main(String[] args) {

        Scanner entrada = new Scanner(System.in);
        int num1, num2, num3;
        int cant = entrada.nextInt();
        for (int i = 1; i <= cant; i++) {
            num1 = entrada.nextInt();
            num2 = entrada.nextInt();
            num3 = entrada.nextInt();
            System.out.println("Case " + i + ": " + numeroMedio(num1, num2, num3));
        }
    }

    static int numeroMedio(int a, int b, int c) {
        int max, min;
        max = Math.max(a, b);
        max = Math.max(max, c);
        min = Math.min(a, b);
        min = Math.min(c, min);
        if (a != max && a != min) {
            return a;
        } else if (b != max && b != min) {
            return b;
        } else {
            return c;
        }
    }
}

jueves, 22 de enero de 2015

solucion UVA 136 Numeros Feos

package UVA;

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
/**
 *
 * @author dam116
 */
public class UVA136_UglyNumber {
//El tiempo del calculo de este ejercicio es demasiado largo pero se puede simplificar a esto:

    public static void main(String[] args) {
        System.out.println("The 1500'th ugly number is 859963392.");
        mostrarNumeros(1500);
    }

//Esta seria la forma de calcularlo

    static void mostrarNumeros(int fin) {
        int num = 1, cant = 0;
        System.out.print("1, ");
        while (cant < fin) {
            if (comprobarNumFeo(num)) {
                System.out.print(num + ", ");
                cant++;
            }
            num++;
        }
    }

    static boolean comprobarNumFeo(int num) {
        if (!(num % 2 == 0 || num % 3 == 0 || num % 5 == 0)) {
            return false;
        }
        for (int i = 4; i < num; i++) {
            if (esPrimo(i)) {
                if (i != 5) {
                    if (num % i == 0) {
                        return false;
                    }
                }
            }
        }
        return true;
    }

    static boolean esPrimo(int num) {
        for (int i = 2; i < num; i++) {
            if (num % i == 0) {
                return false;
            }
        }
        return true;
    }
}

miércoles, 21 de enero de 2015

Solución 10019 Metodo de encriptación invertida

import java.util.Scanner;

/**
 *
 * @author dam101
 */
public class metodoencriptacion10019 {

    public static void main(String[] args) {
        Scanner leer = new Scanner(System.in);
        int numero, cant, num, cont1, cont2;
        int[] hex = {0, 1, 1, 2, 1, 2, 2, 3, 1, 2};
/*este array esla cantidad de unos en los 10 primeros numeros de la conversion de hexadecimal a binario.*/
        cant = leer.nextInt();
        for (int i = 0; i < cant; i++) {
            numero = leer.nextInt();
            num = numero;
            cont1 = 0;
            cont2 = 0;
            while (num >= 1) {
                if (num % 2 == 1) {
                    cont1++;
                }
                num /= 2;
            }
            String cadena = Integer.toString(numero);
            for (int j = 0; j < cadena.length(); j++) {
                cont2 += hex[Character.getNumericValue(cadena.charAt(j))];
            }
        System.out.println(cont1+" "+cont2);
        }
    }
}

SOLUCIONADO : Amanda y Santiago

Solución UVA 686 Goldbach's Conjecture (II)


import java.util.Scanner;

/**
 *
 * @author DAM112
 */
public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        int[] anArray;
        int [] aArray;
        aArray = new int[32678];

        int num, cont, cont1, raiz, cont2 , cont3 , cont4=0, cont5=0;
        boolean primo;
       
        Scanner leer = new Scanner(System.in);
       
       
        do {
           
            num = leer.nextInt();
            if (num != 0) {
                aArray[cont4] = num;
                cont4++;
            }
           
        } while (num != 0);
       
        do {
            cont1=0;
            cont2=0;
            cont3 = 0;
            for (int i = 1; i < aArray[cont5]; i++) {
                primo = true;
                cont = 2;
                raiz = (int) Math.sqrt(i);
                while (primo && (cont <= raiz)) {
                    if (i % cont == 0) {
                        primo = false;
                    } else {
                        ++cont;
                    }
                }
               
                if (primo == true) {
                    cont2 = cont2 + 1;
                }
            }
           
            anArray = new int[cont2];
           
            for (int i = 1; i < aArray[cont5]; i++) {
               
                primo = true;
                cont = 2;
                raiz = (int) Math.sqrt(i);
                while (primo && (cont <= raiz)) {
                    if (i % cont == 0) {
                        primo = false;
                    } else {
                        ++cont;
                    }
                }
               
                if (primo == true) {
                   
                    anArray[cont3] = i;
                    cont3++;
                }
            }
           
            for (int i = 1; i < anArray.length; i++) {
                for (int j = 1; j < anArray.length; j++) {
                    if (anArray[i] + anArray[j] == aArray[cont5]) {
                        if (anArray[i] == anArray[j]) {
                        cont1++;

                    }
                        cont1++;
                       
                    }
                   
                }
               
            }
            System.out.println("" + cont1 / 2);
            cont5++;
        } while (cont5 != cont4);
       
    }
   
}

Solución UVA Tex Quotes

package TEX_Quotes_272;

import java.util.Scanner;

public class TEX_Quotes_272 {

    public static void main(String[] args) {
        String cadena;
        Scanner leer = new Scanner(System.in);
        int cont = 1;

        do {

            cadena = leer.nextLine();

            for (int i = 0; i < cadena.length(); i++) {
                if (cadena.charAt(i) == '"') {
                    if (cont % 2 != 0) {
                        System.out.print("``");
                    } else {
                        System.out.print("''");
                    }
                    cont++;
                } else {

                    System.out.print(cadena.charAt(i));
                }
            }
            System.out.println();
        } while (leer.hasNext());
    }
}

Solución UVA 1585 Score


package Puntuacion_1585;

import java.util.Scanner;

public class Puntuacion_1585 {

    public static void main(String[] args) {
        int num;
        String respuesta;
        boolean spree = true;
        int conteo;
        int puntaje;

        Scanner leer = new Scanner(System.in);

        num = leer.nextInt();
        leer.nextLine();
        for (int i = 0; i < num; i++) {

            respuesta = leer.nextLine();

            puntaje = 0;
            conteo = 0;

            for (int j = 0; j < respuesta.length(); j++) {
                if (!spree) {
                    conteo = 0;

                }
                if (respuesta.charAt(j) == 'O') {
                    conteo = conteo + 1;
                    puntaje = puntaje + conteo;
                    spree = true;
                } else {
                    spree = false;
                }
            }
         
            System.out.println(puntaje);
        }
    }
}

Solucion 1585


Solucion 1585 Puntuacion

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package UVA;

import java.util.Scanner;

/**
 *
 * @author dam116
 */
public class UVA1585_Puntuacion {

    public static void main(String[] args) {
        Scanner entrada = new Scanner(System.in);
        String cadena;
        int valor = 1, num, nota = 0;
        num = entrada.nextInt();
        for (int i = 0; i < num; i++) {
            cadena = entrada.next();
            for (int j = 0; j < cadena.length(); j++) {
                if (cadena.charAt(j) == 'O') {
                    nota += valor;
                    valor++;
                }else{
                    valor = 1;
                }
            }
            System.out.println(nota);
            nota = 0;
            valor = 1;
        }
    }
}
Solucionado por Santiago y Amanda

domingo, 18 de enero de 2015

Solucion 737 Gleaming the Cubes

import java.util.Scanner;

/**
 *
 * @author DAM101
 */
public class UVA737_GleamingTheCubes {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        Scanner entrada = new Scanner(System.in);
        int resultado, numCubos, d, x, y, z, inicioX, inicioY, inicioZ, finX, finY, finZ;
        numCubos = entrada.nextInt();
        while (numCubos > 0) {
            inicioX = entrada.nextInt();
            inicioY = entrada.nextInt();
            inicioZ = entrada.nextInt();
            d = entrada.nextInt();
            finX = inicioX + d;
            finY = inicioY + d;
            finZ = inicioZ + d;
            for (int i = 1; i < numCubos; i++) {
                x = entrada.nextInt();
                y = entrada.nextInt();
                z = entrada.nextInt();
                d = entrada.nextInt();
                inicioX = Math.max(inicioX, x);
                inicioY = Math.max(inicioY, y);
                inicioZ = Math.max(inicioZ, z);
                finX = Math.min(finX, x + d);
                finY = Math.min(finY, y + d);
                finZ = Math.min(finZ, z + d);
            }
            resultado = Math.max(0, (finX - inicioX) * (finY - inicioY) * (finZ - inicioZ));
            System.out.println(resultado);
            numCubos = entrada.nextInt();
        }
    }
}

viernes, 16 de enero de 2015

Solucion 138 Numeros Calles

O tempo de ejecucion de este ejercicio e demasiado largo, tendo o ejercicio un limite de 3 segundos. Aproximamos que a division entre o numero de casas da calle (segundo numero) entre o numero da vivienda (primer numero) partida de 0.75 e tendia a 0.70. Unha vez calculados os numeros podense imprimir e a UVA acepta a solucion.


package programame1;

public class UVA138_numerosCalles_PRINT {

    public static void main(String[] args) {
//%10d imprime o numero en un margen de 10 espacios á izquierda (como pedia o ejercicio).
        System.out.printf("%10d%10d%n", 6, 8);
        System.out.printf("%10d%10d%n", 35, 49);
        System.out.printf("%10d%10d%n", 204, 288);
        System.out.printf("%10d%10d%n", 1189, 1681);
        System.out.printf("%10d%10d%n", 6930, 9800);
        System.out.printf("%10d%10d%n", 40391, 57121);
        System.out.printf("%10d%10d%n", 235416, 332928);
        System.out.printf("%10d%10d%n", 1372105, 1940449);
        System.out.printf("%10d%10d%n", 7997214, 11309768);
        System.out.printf("%10d%10d%n", 46611179, 65918161);
    }
}







FORMA DE CALCULALO

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package UVA;

public class UVA138_numerosCalles {

    public static void main(String[] args) {
        int cant = 0, casasCalle = 1, sumaIzq, sumaDer;
        boolean correcto;
        while (cant <= 10) {
            correcto = false;
            while (!correcto) {
                for (int i = (casasCalle*70/100); i < (casasCalle*75/100); i++) {
                    sumaIzq = sumaNumeros(i - 1, 1);
                    sumaDer = sumaNumeros(i + 1, casasCalle);
                    if (sumaIzq == sumaDer) {
                        correcto = true;
                        cant++;
                        enseñaNumeros(i, casasCalle);
                    }
                }
                casasCalle++;
            }
        }
    }

    public static int sumaNumeros(int inicio, int fin) {
        int suma = 0, mayor, menor;
        mayor = Math.max(inicio, fin);
        menor = Math.min(inicio, fin);
        for (int i = menor; i <= mayor; i++) {
            suma += i;
        }
        return suma;
    }

    public static void enseñaNumeros(int casa, int calle) {
        System.out.printf("%10d%10d%n", casa, calle);
    }
}