Rumah >Java >javaTutorial >Cari nombor Nth hodoh dalam Java

Cari nombor Nth hodoh dalam Java

PHPz
PHPzke hadapan
2023-08-20 18:25:07838semak imbas

Cari nombor Nth hodoh dalam Java

Nombor yang hanya mempunyai 2, 3 atau 5 sebagai faktor perdana dipanggil nombor hodoh. Beberapa nombor hodoh termasuk: 1, 2, 3, 4, 5, 6, 8, 10, 12, 15, dsb.

Kami mempunyai nombor N, dan tugasnya adalah untuk mencari nombor hodoh N dalam urutan nombor hodoh.

Contohnya:

Input -1:

N = 5

Output:

5

Penjelasan:

nombor ke-5 yang hodoh 4, 5 , 6, 8, 10, 12, 15] ialah 5.

Input-2:

N = 7

Output:

8

Penjelasan:

nombor urut 1, dan 2 , 4 , 5, 6, 8, 10, 12, 15], nombor hodoh ketujuh ialah 8.

Bagaimana untuk menyelesaikan masalah ini

Cara mudah untuk menyelesaikan masalah ini ialah dengan menyemak sama ada nombor yang diberikan boleh dibahagi dengan 2, 3 atau 5 dan mengesan urutan sehingga nombor yang diberikan. Sekarang cari jika nombor itu memenuhi syarat untuk semua nombor hodoh dan kembalikan nombor itu sebagai output.

    Masukkan nombor N untuk mencari nombor Nth hodoh.
  • Fungsi boolean isUgly(int n) mengambil nombor 'n' sebagai input dan mengembalikan True jika ia nombor hodoh, False sebaliknya.
  • Fungsi integer findNthUgly(int n) mengambil 'n' sebagai input dan mengembalikan nombor ke-n hodoh sebagai output.
Contoh

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);
   }
}

Output

The Ugly no. at position 100 is 1536.

Atas ialah kandungan terperinci Cari nombor Nth hodoh dalam Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam