[Java] Primfaktor --idea+code

Problembeschreibung: Zerlegen Sie eine positive ganze Zahl in Primfaktoren. Zum Beispiel: 90 eingeben, 90=2*3*3*5 ausdrucken

Problemanalyse:

Um den Primfaktor von n zu zerlegen, sollten Sie zunächst eine minimale Primzahl k finden und dann die folgenden Schritte ausführen, um den Vorgang abzuschließen:

* (1) Wenn diese Primzahl genau n ist, bedeutet dies, dass der Prozess der Zerlegung der Primfaktoren beendet ist. Drucken Sie sie einfach aus.

* (2) Wenn n <> k, aber n durch k teilbar sein kann, sollte der Wert von k ausgedruckt werden und der Quotient von n dividiert durch k als neue positive ganze Zahl n verwendet werden, und zwar im ersten Schritt wiederholt werden.

* (3) Wenn n nicht durch k teilbar ist, verwenden Sie k+1 als Wert von k und wiederholen Sie den ersten Schritt.

Code:

public class Number {
    public void figue(int n) {
        int k = 2; //质数
        System.out.print(n+"=");
        while (k != n) {
            if (n % k == 0) {
                System.out.print(  k+"*");
                n = n / k;
            } else {
                k++;
            }
        }
        System.out.print( + k);
    }
    public static void main(String[] args) {
        System.out.println("输入一个>=0 的数字");
        Scanner sc = new Scanner(System.in);
//        String number =new Scanner(System.in).nextLine();

        int num = Integer.parseInt(sc.nextLine());
//        Number number1 = new Number();
        System.out.println("result is follow:");
//        Number.figue(num);
        new Number().figue(num);

    }
}

Ergebnis:

diskutieren:

Zu Beginn wurde die Fori-Schleife verwendet, die jedoch nicht einfach zu schreiben war, und dann in eine While-Schleife geändert.

Nach dem Schreiben und Nachdenken können Sie auch eine for-Schleife verwenden, wobei i die Primzahl k ist.

Die Bedingung für den Sprung aus der Schleife: if (i==n) {

sout("i") ; brechen; }

Supongo que te gusta

Origin blog.csdn.net/dw1360585641/article/details/129132795
Recomendado
Clasificación