Rumah >Java >javaTutorial >Nombor Armstrong di Jawa
Nombor Armstrong dalam Java Armstrong ialah nombor yang jumlah kubus bagi digit individu nombor itu adalah sama dengan nombor itu sendiri. Nombor Armstrong ialah sejenis nombor istimewa di mana digit mula-mula diambil, kemudian dikiub, dan akhirnya, semua kiub digit individu ditambah untuk mendapatkan nombor. Jika nombor yang ditemui adalah sama dengan nombor asal, maka nombor masing-masing dikenali sebagai nombor Armstrong. Contoh nombor Armstrong ialah 153. Jika kita pecahkan digit bagi 153, ia adalah 1, 5 dan 3. Kemudian kita dapati kubus nombor masing-masing, dan akhirnya, kita mengira kubus nombor itu.
153= (1*1*1)+(5*5*5)+(3*3*3) 370= (3*3*3)+(7*7*7)+(0*0*0)
Dengan cara ini, kita boleh mengira sama ada sesuatu nombor ialah nombor Armstrong atau tidak.
IKLAN Kursus Popular dalam kategori ini JAVA MASTERY - Pengkhususan | 78 Siri Kursus | 15 Ujian Olok-olokKami akan melihat ilustrasi dengan bantuan contoh.
Dalam contoh pengekodan, kami menggunakan bahasa pengaturcaraan Java untuk menentukan sama ada nombor itu ialah nombor Armstrong atau tidak. Jika nombor yang dimasukkan ialah nombor Armstrong, maka program secara automatik mencetaknya sebagai nombor Armstrong, dan jika ia bukan satu, ia menjawab secara automatik bahawa nombor itu bukan nombor Armstrong. Kita boleh memasukkan nilai tiga digit atau empat digit untuk menyemak sama ada nombor itu adalah nombor Armstrong atau tidak.
Logik program adalah sedemikian rupa sehingga setiap digit nombor masing-masing disimpan dalam pembolehubah temp. Kemudian, nombor itu dipadukan untuk mengetahui kubus digit masing-masing, yang disimpan dalam jumlah pembolehubah lain. Akhir sekali, jumlah nombor disemak dengan nombor asal yang sepadan. Digit diperolehi satu demi satu dengan membahagikan nombor dengan 10 pada setiap langkah, kemudian mendapatkan baki nombor itu, dan kemudian menduakan nombor untuk mendapatkan kubus digit masing-masing.
Kod:
import java.io.*; public class Armstrong { public static void main(String[] args)throws IOException { BufferedReader br= new BufferedReader(new InputStreamReader(System.in)); System.out.println("Enter a number"); int num = Integer.parseInt(br.readLine()); int number, digit, sum = 0; number = num; while (number != 0) { digit = number % 10; sum = sum + digit*digit*digit; number /= 10; } if(sum == num) System.out.println(num + " is an Armstrong number"); else System.out.println(num + " is not an Armstrong number"); } }
Output:
Dalam program pertama, kami memasukkan nombor 370 dan 153 sebagai nombor untuk menyemak sama ada ia adalah Armstrong atau tidak. Juga, kami memasukkan 269 sebagai nombor untuk menyemak sama ada nombor itu ialah Armstrong. Kami mendapat output program masing-masing bahawa nombor 370 dan 153 adalah nombor Armstrong manakala nombor 269 bukan nombor Armstrong.
Dalam contoh pengekodan kedua, kami memilih julat nombor yang disemak sama ada nombor Armstrong atau tidak. Julat adalah dari 150 hingga 160. Kami memilih julat, dan kami menyemak output sama ada nombor itu ialah nombor Armstrong atau tidak. Kemudian kita lihat output. Logik yang digunakan adalah serupa dengan logik yang digunakan untuk mencari nombor Armstrong. Digit nombor masing-masing dikira, dan kemudiannya dikiub dan dijumlahkan untuk mencari jumlah nombor akhir. Jika jumlah nombor akhir adalah sama dengan nombor asal, ia dianggap sebagai nombor Armstrong yang dikira.
Kod:
import java.io.*; public class ArmstrongRange { public static void main(String[] args)throws IOException { for(int num= 150; num<160; num++) { int number, digit, sum = 0; number = num; while (number != 0) { digit = number % 10; sum = sum + digit*digit*digit; number /= 10; } if(sum == num) System.out.println(num + " is an Armstrong number"); else System.out.println(num + " is not an Armstrong number"); } } }
Output:
Dalam output sampel, kita melihat bahawa semua nombor dalam julat 150 hingga 160 telah disemak sama ada nombor Armstrong atau tidak. Program ini telah melaporkan bahawa hanya 153 adalah nombor Armstrong yang jumlah kubus digitnya adalah sama dengan nombor asal. Semua nombor lain telah dilaporkan sebagai nombor bukan Armstrong.
Dalam contoh pengekodan ini, kita akan melihat senarai nombor Armstrong hadir antara 365 dan 375. Kami sedang menukar julat nilai untuk disemak untuk nombor Armstrong. Logik sampel pengekodan adalah sama seperti yang sebelumnya. Perbezaan utama ialah julat nombor yang hendak disemak diubah dan ia berbeza sedikit daripada baris terakhir kod.
Digit individu diambil, dikiub dan dijumlahkan untuk mendapatkan nombor. Jika nombor itu sama dengan nombor asal, maka nombor asal dikenali sebagai nombor Armstrong; jika tidak, ia bukan nombor Armstrong.
Kod:
import java.io.*; public class ArmstrongRange { public static void main(String[] args)throws IOException { for(int num= 365; num<375; num++) { int number, digit, sum = 0; number = num; while (number != 0) { digit = number % 10; sum = sum + digit*digit*digit; number /= 10; } if(sum == num) System.out.println(num + " is an Armstrong number"); else System.out.println(num + " is not an Armstrong number"); } } }
Output:
Dalam output sampel program, kita melihat bahawa hanya 371 dan 370 adalah nombor Armstrong manakala nombor lain bukan kerana jumlah kubus digit individu tidak ditambah dengan nombor asal.
Dalam artikel ini, kita telah melihat cara kerja dan definisi nombor Armstrong. Mula-mula, kita semak sama ada nombor yang dimasukkan ialah nombor Armstrong atau tidak. Kedua, kami memasukkan julat nilai dari 150 hingga 160 dan menyemak jumlah nombor Armstrong yang ada di antara nilai tersebut. Ketiga, kami memasukkan julat nombor dari 365 hingga 375 dan mengetahui bahawa 370 dan 371 ialah nombor Armstrong. Nombor Armstrong ialah nombor khas yang digunakan dalam teori nombor dan boleh digunakan untuk mencari sifat digit bagi sesetengah nombor dan penjumlahan kubusnya.
Atas ialah kandungan terperinci Nombor Armstrong di Jawa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!