Heim > Java > javaLernprogramm > Hauptteil

Finden Sie die N-te hässliche Zahl in Java

PHPz
Freigeben: 2023-08-20 18:25:07
nach vorne
800 Leute haben es durchsucht

Finden Sie die N-te hässliche Zahl in Java

Eine Zahl, die nur 2, 3 oder 5 als Primfaktoren hat, wird als hässliche Zahl bezeichnet. Einige hässliche Zahlen sind: 1, 2, 3, 4, 5, 6, 8, 10, 12, 15 usw.

Wir haben eine Zahl N und die Aufgabe besteht darin, die N-te hässliche Zahl in der Folge der hässlichen Zahlen zu finden.

Zum Beispiel:

Eingabe -1:

N = 5
Nach dem Login kopieren

Ausgabe:

5
Nach dem Login kopieren

Erklärung:

Die 5. hässliche Zahl in der Folge der hässlichen Zahlen [1, 2, 3, 4, 5 , 6, 8, 10, 12, 15] ist 5.

Eingabe-2:

N = 7
Nach dem Login kopieren

Ausgabe:

8
Nach dem Login kopieren

Erklärung:

in der hässlichen Zahlenfolge [1, 2, 3 , 4 , 5, 6, 8, 10, 12, 15], die siebte hässliche Zahl ist 8.

So lösen Sie dieses Problem

Eine einfache Möglichkeit, dieses Problem zu lösen, besteht darin, zu prüfen, ob die gegebene Zahl durch 2, 3 oder 5 teilbar ist, und die Folge bis zur gegebenen Zahl zu verfolgen. Finden Sie nun heraus, ob die Zahl die Bedingungen für alle hässlichen Zahlen erfüllt, und geben Sie diese Zahl als Ausgabe zurück.

  • Geben Sie eine Zahl N ein, um die N-te hässliche Zahl zu finden.
  • Eine boolesche Funktion isUgly(int n) nimmt eine Zahl „n“ als Eingabe und gibt „True“ zurück, wenn es eine hässliche Zahl ist, andernfalls „False“.
  • Eine Ganzzahlfunktion findNthUgly(int n) nimmt „n“ als Eingabe und gibt die n-te hässliche Zahl als Ausgabe zurück.

Beispiel

Demo

public class UglyN {
   public static boolean isUglyNumber(int num) {
      boolean x = true;
      while (num != 1) {
         if (num % 5 == 0) {
            num /= 5;
         }
         else if (num % 3 == 0) {
            num /= 3;
         }
         // To check if number is divisible by 2 or not
         else if (num % 2 == 0) {
            num /= 2;
         }
         else {
            x = false;
            break;
         }
      }
      return x;
   }
   public static int nthUglyNumber(int n) {
      int i = 1;
      int count = 1;
      while (n > count) {
         i++;
         if (isUglyNumber(i)) {
            count++;
         }
      }
      return i;
   }
   public static void main(String[] args) {
      int number = 100;
      int no = nthUglyNumber(number);
      System.out.println("The Ugly no. at position " + number + " is " + no);
   }
}
Nach dem Login kopieren

Ausgabe

The Ugly no. at position 100 is 1536.
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonFinden Sie die N-te hässliche Zahl in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage