(Versión corta) rango de entrada del teclado, resuelve todas las potencias en el rango


paquete com.xiaozhao.coding;

import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
import java.util.Scanner;

public class GetNarcissisticNumbers {

    @SuppressWarnings ("recurso")
    public static void main (String [] args) {         List <Integer> list1 = new ArrayList <Integer> ();         Scanner scanner = new Scanner (System.in);         System.out.println (" Ingrese el rango que necesita para consultar desde la potencia (por ejemplo, 100 --- n, la posición inicial predeterminada es 100): ");         int n = scanner.nextInt ();         for (int i = 100; i <= n ; i ++) {             getNarcissisticNumbers (i);             if (getNarcissisticNumbers (i) == i)             list1.add (getNarcissisticNumbers (i));         }          System.out.println ("En este rango, los números de potencia que consulta son:" + "\ n" + list1);     }     public static int GetCount (int n) {         // Determine cuántos dígitos tiene n         int s = n / 10;
        


    


        
        

            

            








        int count = 1;
        while (s> 0) {             s = s / 10;             count ++;         }         return count;     }     public static int sum (int n, int k) {         // Encuentra el orden de conteo de cada número         int sum = 1;         final int h = n;         for (int i = 0; i <h; i ++) {             sum = sum * k;         }         return sum;     }     public static int jiechen (int k) {         // Qué se necesita para cada número El factorial de la división (10)         int num = 1;         while (k> 0) {             num = 10 * num;             k--;         }         return num;     }














    







        


    public static int Getvalue (int n) {         // toma el número obtenido después de         int value = 0;         int q = 1;         int a = GetCount (n) -1;         //System.out.println(a);         while ( a> 0) {             q = 10 * q;             a--;         }         value = n / q;         //System.out.println(value);         return value;     }     public static int getNarcissisticNumbers (int n) {         // Regresar para pasar El número después del cambio de energía         List <Integer> list = new ArrayList <Integer> ();         int k = GetCount (n);         //System.out.println(k);         for (int i = 1; i <2; i ++) {











        
    




        

        
      

        
        

        

            list.add (sum (k, Getvalue (n)));
            para (int j = k-1; j> 0; j--) {                 n = n% jiechen (j);                 GetCount (n);                 list.add (sum (k, Getvalue (n)));                 }         }         ListIterator <Integer> it = list.listIterator ();         int sum2 = 0;         while (it.hasNext ()) {             int sum1 = it.next ();             suma2 = suma2 + suma1;          }         //System.out.println(sum2);         return sum2;         } }












        



 

Supongo que te gusta

Origin blog.csdn.net/weixin_43562937/article/details/103828039
Recomendado
Clasificación