import java.util.BitSet; import java.util.Scanner; /** * Solución a 10783 - Odd Sum [https://uva.onlinejudge.org/] * * @author BreakDark (Jhonny Monrroy) * @version 1.0 24 nov. de 2017 */ // Accepted!!! xD public class Main { public static void main(String[] args) { Scanner Lee = new Scanner(System.in); int t, a, b, i, j, sum; BitSet impares = new BitSet(101); for (i = 1; i <= 100; i += 2) impares.set(i); // AQUI INICIA EL PROGRAMA t = Lee.nextInt(); for (i = 1; i <= t; i++) { a = Lee.nextInt(); b = Lee.nextInt(); sum = 0; for (j = a; j <= b; j++) { if (impares.get(j)) sum += j; } System.out.println("Case " + i + ": " + sum); } Lee.close(); } }
Blog dedicado a la publicación de artículos, programas propios, traducciones de Roms de Nes, super Nes y mas, y alguno que otro artículo sobre tecnologia.
Monday, January 22, 2018
Solución al problema: 10783 - Odd Sum con Java
Para ver el link del problema Click aqui
Solución al problema: 488 - Triangle Wave con Java
Para ver el link del problema Click aqui
import java.util.Scanner; /** * 488 - Triangle Wave [http://uva.onlinejudge.org] * * @author BreakDark * @version 2.0 beta */ // ACEPTADO!!! xD public class Main { public static void main(String[] args) { Scanner Lee; // para leer los datos de entrada int numcasos; // para el numero de casos byte amplitud; // para la amplitud int frecuencia; // frecuencia int i; // para los bucles // vector de ondas String[] vec = {"", "1", "1\n22\n1", "1\n22\n333\n22\n1", "1\n22\n333\n4444\n333\n22\n1", "1\n22\n333\n4444\n55555\n4444\n333\n22\n1", "1\n22\n333\n4444\n55555\n666666\n55555\n4444\n333\n22\n1", "1\n22\n333\n4444\n55555\n666666\n7777777\n666666\n55555\n4444\n333\n22\n1", "1\n22\n333\n4444\n55555\n666666\n7777777\n88888888\n7777777\n666666\n55555\n4444\n333\n22\n1", "1\n22\n333\n4444\n55555\n666666\n7777777\n88888888\n999999999\n88888888\n7777777\n666666\n55555\n4444\n333\n22\n1"}; // AQUI INICIA EL PROGRAMA Lee = new Scanner(System.in); numcasos = Lee.nextInt(); while(numcasos-- > 0){ amplitud = Lee.nextByte(); frecuencia = Lee.nextInt(); for(i = 0; i < frecuencia; i++){ System.out.println(vec[amplitud]); if(i < frecuencia - 1 || numcasos > 0) System.out.println(); } } } }
Solución al problema: 106 - Fermat vs Pythagoras con Java
Para ver el link del problema Click aqui
import java.util.BitSet; import java.util.Scanner; /** * 106 - Fermat vs. Pythagoras [http://uva.onlinejudge.org] * * @author BreakDark * @version 3.0 beta */ // ACEPTADO!!! xD public class Main { public static void main(String[] args) { Scanner Lee; // Para leer los datos de entrada int N; // para el N a leer // AQUI INICIA EL PROGRAMA!!! Lee = new Scanner(System.in); while(Lee.hasNext()){ N = Lee.nextInt(); calcula(N); } } /** * Procedimiento que realiza todo el trabajo * * @param N * el numero a procesar */ private static void calcula(int N) { int cont = 0; int numUsados = 0; int r, s, i, x, y, z; BitSet numeros = new BitSet(N + 1); for(r = 2; r * r <= N; r++) for(s = 1; s < r && r * r + s * s <= N; s++){ x = r * r - s * s; y = 2 * r * s; z = r * r + s * s; if(mcd(x, y) == 1){ cont++; for(i = 1; z * i <= N; i++){ if(!numeros.get(x * i)){ numUsados++; numeros.set(x * i); } // para y if(!numeros.get(y * i)){ numUsados++; numeros.set(y * i); } // para z if(!numeros.get(z * i)){ numUsados++; numeros.set(z * i); } } } } System.out.println(cont + " " + (N - numUsados)); } /** * Funcion que encuentra el MCD de dos enteros basado en el slgoritmo de * euclides * * @param a * entero a evaluar el MCD * @param b * entero a evaluar el MCD * @return el MCD de a y b */ private static int mcd(int a, int b) { int r; if(b > a){ r = a; a = b; b = r; } r = b; while(b > 0){ r = a % b; a = b; b = r; } return a; } }
Subscribe to:
Posts (Atom)