Jika faktor perdana bagi sesuatu nombor hanya termasuk 2, 3 dan 5, maka ia dipanggil nombor hodoh.
Mungkin sesetengah nombor mempunyai faktor perdana dengan hanya satu atau dua faktor, tetapi faktor tersebut mestilah salah satu daripada 2, 3, dan 5.
Dalam artikel ini kita akan melihat cara untuk menyemak sama ada nombor adalah nombor hodoh atau tidak dengan menggunakan bahasa pengaturcaraan Java.
Nombor input ialah 20.
Mari kita semak ini menggunakan logik nombor hodoh.
Prime factors of 20 = 2, 2, 5
Jadi, seperti yang anda perhatikan di sini, semua faktor utama termasuk hanya satu daripada 2, 3 dan 5.
Oleh itu, 20 adalah nombor yang hodoh.
Nombor input ialah 30.
Mari kita semak ini menggunakan logik nombor hodoh.
Prime factors of 30 = 2, 3, 5
Jadi, seperti yang anda perhatikan di sini, semua faktor utama termasuk hanya satu daripada 2, 3 dan 5.
Oleh itu, 30 adalah nombor yang hodoh.
Nombor input ialah 14.
Mari kita semak ini menggunakan logik nombor hodoh.
Prime factors of 14 = 2, 7
Jadi, seperti yang anda perhatikan di sini 7 hadir pada salah satu faktor utama di atas.
Oleh itu, 14 bukanlah nombor yang hodoh.
Langkah 1 − Mula-mula kita tentukan fungsi untuk menyemak sama ada nombor input ialah nombor perdana atau tidak.
Langkah 2 - Kumpul input pengguna melalui kaedah statik atau kaedah yang ditentukan pengguna.
Langkah 3 − Mulakan gelung untuk mencari semua faktor perdana nombor input.
Langkah 4 - Selepas mencari faktor utama, kami menjalankan syarat untuk memeriksa sama ada faktor hanya mengandungi 2, 3, dan 5.
Langkah 5 − Jika keadaannya benar maka kami mencetak nombor input adalah nombor hodoh sebaliknya nombor input bukan nombor hodoh.
Kami menyediakan penyelesaian dengan cara yang berbeza.
Dengan menggunakan nilai input statik
Dengan Menggunakan Kaedah Ditentukan Pengguna
Mari kita lihat program Java dan outputnya satu persatu.
Dalam pendekatan ini satu bukan−sifar, nilai integer positif akan dimulakan dalam atur cara dan kemudian dengan menggunakan algoritma kita boleh menyemak sama ada nombor itu nombor hodoh atau tidak.
import java.util.Scanner; public class Main { public static void main(String args[]) { //declare a variable with a static value int inputNumber = 25; //declare a variable with boolean value boolean check = true; //initialise the loop for the checking of ugly number for(int i = 2; i<=inputNumber; i++) { // checks whether numbers only include 2,3 and 5 if(i!=2&&i!=3&&i!=5) { // Checks if there are some other prime factors if(inputNumber%i==0&&checkPrime(i)) { // Sets the flag to false if there are some other prime factors check = false; break; } } } if(check) { System.out.println(inputNumber+" is an ugly number"); } else { System.out.println(inputNumber+" is Not an ugly number"); } } // Function that checks for prime static boolean checkPrime(int number) { boolean flag = true; for(int i = 2; i<=number/2; i++) { if(number%i==0) { flag = false; break; } } return flag; } }
25 is an ugly number
Dalam pendekatan ini satu bukan−sifar, nilai integer positif akan dimulakan dalam atur cara dan kemudian kami akan memanggil kaedah yang ditentukan pengguna dengan menghantar nombor input ini sebagai parameter.
Dalam kaedah ini, kami akan menggunakan algoritma untuk menyemak sama ada nombor adalah nombor hodoh.
import java.util.Scanner; public class Main { //initialise main method public static void main(String[] args) { //declare a variable with a static value int inp = 56; //check whether our condition is true or not in user defined method //if true number is ugly otherwise not if(checkUgly(inp)) { System.out.println(inp+" is an ugly number"); } else { System.out.println(inp+" is Not an ugly number"); } } // Function that checks for prime static boolean checkPrime(int number) { boolean flag = true; for(int i = 2; i<=number/2; i++) { if(number%i==0) { flag = false; break; } } return flag; } //define the user defined method //checking for ugly number public static boolean checkUgly(int inputNumber) { //declare a variable with boolean value boolean check = true; //initialise the loop for the checking of Ugly number for(int i = 2; i<=inputNumber; i++) { // checks whether numbers only include 2,3 and 5 if(i!=2&&i!=3&&i!=5) { // Checks if there are some other prime factors if(inputNumber%i==0&&checkPrime(i)) { // Sets the flag to false if there are some other prime factors return false; } } } return true; } }
56 is Not an ugly number
Dalam artikel ini, kami meneroka cara menyemak nombor sama ada ia nombor hodoh atau tidak di Jawa dengan menggunakan pendekatan yang berbeza.
Atas ialah kandungan terperinci Bagaimana untuk menyemak sama ada nombor itu hodoh di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!