7.11- Exercices de structure en boucle (déterminer combien de nombres premiers sont compris entre 2 et 100, et sortir tous les nombres premiers)

7.11- Exercices de structure en boucle

1. Déterminez le nombre de nombres premiers compris entre 2 et 100 et sortez tous les nombres premiers.

public class zy01 {
    
    
    public static void main(String[] args) {
    
    
        int s=0;
        for (int i = 2; i <=100 ; i++) {
    
    
            for (int j = 2; j <i ; j++) {
    
    
                 s = i%j;
                if (s==0){
    
    
                    break;
                }

                }
            if (s!=0){
    
    
                System.out.print(+i+" ");
            }

        }
    }
}

2. Imprimez tous les "numéros de la jonquille", le soi-disant "numéro de la jonquille" désigne un numéro à trois chiffres,

  • La somme des cubes des chiffres est égale au nombre lui-même.
  • Par exemple: 153 est un "numéro de jonquille"
  • Parce que 153 = 1 cube + 5 cube + 3 cube.
public class zy02 {
    
    
    public static void main(String[] args) {
    
    
        for (int i = 100; i <1000 ; i++) {
    
    
            int a = i/100%10;
            int b = i/10%10;
            int c = i%10;
            if (i==a*a*a+b*b*b+c*c*c){
    
    
                System.out.print(+i+" ");
            }

        }
    }
}

3. Trouvez la valeur de s = a + aa + aaa + aaaa + aa ... a, où a est un nombre.

  • Par exemple, 5 + 55 + 555 + 5555 + 55555 (pour le moment, 5 nombres sont additionnés).
public class zy03 {
    
    
    public static void main(String[] args) {
    
    
        System.out.print("输入1-9之间的一个数:");
        Scanner sc = new Scanner(System.in);
        double n=sc.nextInt();
        double k=n;

        double sum =n;
        for (int i = 1; i <=n-1 ; i++) {
    
    
             k = k+n*Math.pow(10,i);
            sum =sum+k;
        }
        System.out.println(+sum);
    }
}

4. Décomposez un entier positif en facteurs premiers. Par exemple: saisissez 90 et imprimez 90 = 2 3 3 * 5.

  • Pour décomposer les facteurs premiers de n, vous devez d'abord trouver le plus petit nombre premier k, puis effectuer les étapes suivantes:
  • (1) Si ce nombre premier est exactement égal à n, cela signifie que le processus de décomposition des facteurs premiers est terminé, il suffit de l'imprimer.
  • (2) Si n n'est pas égal à k, mais que n est divisible par k, la valeur de k doit être imprimée, et le quotient de n divisé par k doit être utilisé comme un nouvel entier positif n, et répéter la première étape.
  • (3) Si n n'est pas divisible par k, utilisez k + 1 comme valeur de k et répétez la première étape.
public class zy04 {
    
    
    public static void main(String[] args) {
    
    
        Scanner sc=new Scanner(System.in);
        System.out.print("请输入一个正整数:");
        int num=sc.nextInt();
        System.out.print(num+"=");
        int k=2;
        int g =2;
        int num1 = num;
        do{
    
    
            if(num%k==0){
    
    
                System.out.print(k+"*");
                num/=k;
            }else{
    
    
                k=k+1;
            }
        }while(num!=k);
        System.out.print(k+"\n");

        if(num1==k){
    
    
            num=num+1;
            System.out.print("num+1的值作为k的值重新计算:");
            System.out.print(+(num)+"=");
            do{
    
    

                if(num%g==0){
    
    
                    System.out.print(g+"*");
                    num/=g;
                }else{
    
    
                    g=g+1;
                }
            }while(num!=g);
            System.out.print(g);
        }
    }
}

5. Si un nombre est exactement égal à la somme de ses facteurs, ce nombre est appelé "nombre final".

  • Par exemple, 6 = 1 + 2 + 3. Programmation pour trouver tous les nombres à moins de 1000
public class zy05 {
    
    
    public static void main(String[] args) {
    
    

        for (int i = 1; i <1000 ; i++) {
    
    
            int k=0 ;
            for (int j = 1; j <i ; j++) {
    
    
                    if (i%j==0){
    
    
                        k = k+j;
                    }
              }
            if (i==k) {
    
    
                System.out.println(+i);
            }
        }
    }
}

Je suppose que tu aimes

Origine blog.csdn.net/qq_42005540/article/details/107313462
conseillé
Classement