Blue Bridge Cup sprint veinticinco de 31 días [java]

Fui a solicitar algo hoy. Me tomó más de medio día. Cuando regresé, todavía necesitaba hacer mi tarea. También tuve que mirar la compilación. No pude llevarla durante dos días. Ir volver y leer lo que escribí originalmente

Sección 1: Revisión de preguntas reales anteriores que se han hecho antes

Se pueden tomar más soluciones de problemas en una o dos oraciones, principalmente para registrar la experiencia después del cepillado, como los puntos de conocimiento utilizados o el lugar que le importa.

1. Espacio (competencia provincial de 21 años - 14 de marzo) https://www.lanqiao.cn/problems/1445/learning/
2. Secuencia aritmética (competencia provincial de 19 años - 12 de marzo) https: //www.lanqiao.cn /problems/192/learning/
3. Fecha del palíndromo (competencia provincial de 20 años - 9 de marzo) https://www.lanqiao.cn/problems/498/learning/
4. Copa de salto de rana (competencia provincial de 2017 - 18 de marzo) ) http://lx.lanqiao.cn/problem.page?gpid=T2835 (Primero inicie sesión en la cuenta de Blue Bridge, esta pregunta está en el sistema de capacitación)

Sección 2: Practica hoy

Estadísticas de resultados (20 años competencia provincial)

imagen-20220401234029491

Enlace del tema: https://www.lanqiao.cn/problems/502/learning/

Esta pregunta se puede contar directamente, usando el Math.roundredondeo .

import java.util.Scanner;

public class Main {
    
    

    static final int N = 10010;
    static int[] a = new int[N];

    public static void main(String[] args) {
    
    
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        double good = 0, pass = 0;
        for (int i = 0; i < n; i++) {
    
    
            a[i] = sc.nextInt();
            if (a[i] >= 60) pass++;
            if (a[i] >= 85) good++;
        }
        sc.close();

        System.out.println(Math.round((pass / n) * 100) + "%");
        System.out.println(Math.round((good / n) * 100) + "%");
    }
}

Puntos consensuados (20 años competencia provincial)

imagen-20220329215254823

Enlace del tema: https://www.lanqiao.cn/problems/593/learning/

Sigue siendo lo mismo, simplemente recorre todos ellos directamente y luego juzga si el valor del máximo común divisor del numerador y el denominador es 1. Ten cuidado de no usar números primos para deletrear directamente. Lo hice calculando directamente el número primo. números por primera vez, y luego descubrí que 8/9 también satisface la condición, pero ambos no son números primos

Respuesta: 2481215

package year2020A;

/**
 * http://oj.ecustacm.cn/problem.php?id=1509
 * 
 * @author Jia
 *
 */
public class exercise2 {
    
    
	public static void main(String[] args) {
    
    
		int ans = 0;
		int end = 2021;
		for (int i = 1; i < end; i++) {
    
    
			for (int j = 1; j < end; j++) {
    
    
				if (gcd(i, j) == 1) {
    
    
					ans++;
				}
			}
		}
		System.out.println(ans);
	}

	/**
	 * 求最大公约数
	 * 
	 * @param i
	 * @param j
	 * @return
	 */
	private static int gcd(int i, int j) {
    
    
		return i % j == 0 ? j : gcd(j, i % j);
	}

}

Inclusión Óptima (19 Campeonatos Nacionales)

Enlace del tema: https://www.lanqiao.cn/problems/239/learning/

Supongo que te gusta

Origin blog.csdn.net/qq_46311811/article/details/123910720
Recomendado
Clasificación