Con fracción + número primo (solución JAVA)

Con puntuación: inicio de sesión de usuario

Tema Descripción

100 se puede expresar como una fracción: 100 = 3 + 69258 / 714

También se puede expresar como: 100 = 82 + 3546 / 197

Preste atención a las características: en la fracción de banda, los números 1~9 aparecen y solo aparecen una vez (excepto 0).

Para fracciones como esta, 100 tiene 11 representaciones.

ingrese la descripción

Lea un número entero positivo N (N<1000×1000) de la entrada estándar.

descripción de salida

El programa genera el número para formar todo tipo de números representados por fracciones con números del 1 al 9 sin repetición.

Nota: No es necesario generar todas las representaciones, ¡solo cuántas representaciones hay!

Muestras de entrada y salida

ejemplo

ingresar

100

producción

11

límite operativo

  • Tiempo máximo de ejecución: 3s
  • Memoria máxima en ejecución: 64M

código:

import java.util.Scanner;

public class 带分数 {
    static int n;
    static int ans = 0;
    static int a[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner sc = new Scanner(System.in);
        n = sc.nextInt();
        dfs(0);
        System.out.println(ans);
    }

    private static void dfs(int m) {
        if (m == a.length) {
//            for (int i = 0; i < a.length; i++) {
//                System.out.print(a[i] + " ");
//            }
//            System.out.println();
            for (int i = 0; i < 7; i++) {
                for (int j = i + 1; j < 8; j++) {
                    int a = f(0, i);
                    int b = f(i + 1, j);
                    int c = f(j + 1, 8);
                    if (n * c == a * c + b) {
                        ans++;
                        //System.out.println("" + a + " " + b + " " + c);
                    }
                }
            }
            return;
        }
        for (int i = m; i < a.length; i++) {
            swap(i, m);
            dfs(m + 1);
            swap(i, m);
        }
    }

    private static int f(int i, int j) {
        // TODO Auto-generated method stub
        int res = 0;
        while (i <= j) {
            res = res * 10 + a[i];
            i++;
        }
        return res;
    }

    private static void swap(int n, int m) {
        // TODO Auto-generated method stub
        int t = a[n];
        a[n] = a[m];
        a[m] = t;
    }

}

Número primo: inicio de sesión de usuario

Tema Descripción

Dado un número entero positivo N, genere los números primos dentro de N (sin incluir N) y el número de números primos.

ingrese la descripción

Introduzca una línea que contenga un número entero positivo N. 1≤N≤103

descripción de salida

Hay dos líneas.

La línea 1 contiene varios números primos, cada dos números primos están separados por un espacio y los números primos se muestran de menor a mayor.

La línea 2 contiene un número entero que representa el número de números primos hasta N.

Muestras de entrada y salida

ejemplo

ingresar

10

producción

2 3 5 7
4

límite operativo

  • Tiempo máximo de ejecución: 1s
  • Memoria máxima en ejecución: 128M

código:

import java.util.Scanner;
// 1:无需package
// 2: 类名必须Main, 不可修改

public class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        //在此输入您的代码...
        int n = scan.nextInt();
        int count = 0;
        if(n>=2){
          System.out.print(2+" ");
          count++;
        }
        for(int i = 3;i<n;i++){
          int j=0;
          for(j = 2;j<i;j++){
            if(i%j==0){
              break;
            }
          }
          if(j==i){
            System.out.print(i+" ");
            count++;
          }
        }
        System.out.println();
        System.out.print(count);
        scan.close();
    }
}

El agua fría es sopa de mucosidad blanca hervida, ni fría ni caliente sino templada y fresca.

Supongo que te gusta

Origin blog.csdn.net/zzbzxzzdf/article/details/130552530
Recomendado
Clasificación