Rumah >Java >javaTutorial >Bagaimana untuk menyemak sama ada nombor adalah nombor Harshad di Jawa?
Nombor Harshad boleh dibahagi dengan hasil tambah digitnya. Ringkasnya, jika jumlah semua digit nombor adalah faktor nombor itu, maka ia adalah nombor Harshad.
Dalam artikel ini, kita akan melihat cara menyemak nombor Harshad menggunakan bahasa pengaturcaraan Java.
Masukkan nombor sebagai 18
Mari kita semak menggunakan logik nombor Harshad −
Jumlah digit nombor = 1 + 8 = 9.
Jadi, 18 boleh dibahagi dengan 9.
Oleh itu, 18 ialah nombor Harshad.
TerjemahanNombor yang dimasukkan ialah 3
Mari kita semak menggunakan logik nombor Harshad −
Jumlah digit nombor = 3.
Jadi, 3 boleh dibahagi dengan 3.
Oleh itu, 3 ialah nombor Harshad.
Terjemahan bahasa Cina bagiMasukkan nombor sebagai 15
Mari kita semak menggunakan logik nombor Harshad −
Jumlah digit nombor = 1 + 5 = 6.
Jadi, 15 tidak boleh dibahagikan dengan 6.
Oleh itu, 14 bukan nombor Harshad.
Beberapa contoh nombor Harshad yang lain termasuk 1, 2, 4, 5, 6, 7, 8, 9, 10, 12, 18, 20, dsb.
Tukar nilai integer kepada nilai rentetan menggunakan kaedah toString() terbina dalam.
Berikut ialah sintaks untuk menukar nilai integer kepada nilai rentetan dan kemudian mencari panjangnya dan menetapkan panjang kepada pembolehubah integer untuk mendapatkan jumlah bilangan digit dalam nombor -
String str = Integer.toString(input_number);
Untuk mendapatkan panjang integer, kami akan menggunakan kaedah length() terbina dalam kelas Java String Kaedah mengembalikan panjang objek String.
int length = st.length();
Untuk mendapatkan watak pada kedudukan/indeks tertentu dalam rentetan, kami menggunakan kaedah charAt() . di mana charAt(i)-‘0’ mengembalikan nilai integer sebenar.
int num = st.charAt(i)-‘0’;
Di mana "st" merujuk kepada rentetan dan "i" ialah pembolehubah lelaran yang melelaran ke atas rentetan.
Langkah 1 - Dapatkan integer melalui permulaan atau input pengguna.
Langkah 2 - Cari jumlah setiap digit nombor dengan mengulang setiap digit nombor itu.
Langkah 3 - Kemudian semak sama ada nombor asal boleh dibahagi dengan hasil tambah semua digit nombor itu. Nombor yang diberikan ialah nombor Harshad jika boleh dibahagi, jika tidak, ia bukan nombor Harshad
Langkah 1 - Dapatkan integer melalui permulaan atau input pengguna.
Langkah 2 - Tukar integer kepada rentetan menggunakan kaedah toString() terbina dalam.
Langkah 3 - Cari panjang rentetan dengan menggunakan kaedah length() terbina dalam.
Langkah 4 - Kemudian dengan menggunakan gelung for, lelaran sehingga panjang rentetan dan dapatkan nilai integer 0' daripada rentetan menggunakan charAt(i)-' dan rekod jumlah semua nombor.
Langkah 5 - Kemudian semak sama ada nombor asal boleh dibahagi dengan hasil tambah semua digit nombor itu. Nombor yang diberikan ialah nombor Harshad jika boleh dibahagi, jika tidak, ia bukan nombor Harshad.
Kami menyediakan penyelesaian dengan cara yang berbeza
Jangan guna tali
Dengan menggunakan rentetan
Mari kita lihat program dan outputnya satu persatu.
Dalam kaedah ini, nilai integer akan dimulakan dalam program dan kemudian dengan menggunakan Algoritma-1 kita boleh menyemak sama ada nombor ialah nombor Harshad.
public class Main{ //main method public static void main(String args[]){ //Declared an integer variable and initialized a number as value int originalNumber = 21; //printing the given number to be checked System.out.println("Given number: "+originalNumber); //keep a copy of original number int copyOfOriginalNumber = originalNumber; //initialize sum as 0 int sum = 0; //Find sum of all digits of the number //continue the loop till the number is greater than 0 while(originalNumber > 0){ //get the rightmost digit of the number by using % operator int rem = originalNumber%10; //add the digit(rem) to sum sum = sum + rem; //remove the rightmost digit from number and get the updated number originalNumber = originalNumber/10; } //printing the result if(copyOfOriginalNumber % sum == 0) System.out.println(copyOfOriginalNumber+" is a Harshadnumber"); else System.out.println(copyOfOriginalNumber+" is not a Harshadnumber"); } }
Given number: 21 21 is a Harshad number
Dalam kaedah ini, nilai integer akan dimulakan dalam atur cara dan kemudian menggunakan Algoritma-2 kami akan menyemak sama ada nombor itu ialah nombor Harshad atau tidak.
public class Main{ //main method public static void main(String args[]){ //Declared an integer variable and initialized a number as value int originalNumber = 40; //printing the given number to be checked System.out.println("Given number: "+originalNumber); //keep a copy of original number int copyOfOriginalNumber = originalNumber; //initialize sum as 0 int sum = 0; //convert the integer to string by using toString() method String str = Integer.toString(originalNumber); //find length of String by using length() method //which is nothing but total number of digits in the given number int length=str.length(); //iterate the String and get the digits by using charAt(i)-'0' //find the sum of digits for(int i = 0; i < length; i++){ sum += str.charAt(i)-'0'; } //printing the result if(copyOfOriginalNumber % sum == 0) System.out.println(copyOfOriginalNumber+" is a Harshad number"); else System.out.println(copyOfOriginalNumber+" is not a Harshad number"); } }
Given number: 40 40 is a Harshad number
Dalam artikel ini, kami meneroka cara untuk menyemak sama ada nombor ialah nombor Harshad di Jawa menggunakan kaedah yang berbeza.
Atas ialah kandungan terperinci Bagaimana untuk menyemak sama ada nombor adalah nombor Harshad di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!