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

Cari nombor Nth hodoh dalam Java

PHPz
Lepaskan: 2023-08-20 18:25:07
ke hadapan
842 orang telah melayarinya

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
Salin selepas log masuk

Output:

5
Salin selepas log masuk

Penjelasan:

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

Input-2:

N = 7
Salin selepas log masuk

Output:

8
Salin selepas log masuk

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);
   }
}
Salin selepas log masuk

Output

The Ugly no. at position 100 is 1536.
Salin selepas log masuk

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

Label berkaitan:
sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan