Bagaimana untuk menyemak Nombor Armstrong di Jawa?

Bagaimana Untuk Menyemak Nombor Armstrong Di Jawa



' Nombor Armstrong ” memberikan pandangan tentang corak nombor dan sifat matematik. Ia membantu dalam memahami konsep teori nombor dan meneroka hubungan rujukan kendiri dalam nombor. Selain itu, ia membantu dalam memastikan ketepatan data atau input pengguna. Ia boleh berguna apabila integriti input adalah penting.

Blog ini membantu dalam mencari nombor Armstrong untuk data yang disediakan.







Bagaimana untuk menyemak Nombor Armstrong di Jawa?

' Nombor Armstrong ” diperiksa untuk mengenal pasti nombor yang memenuhi sifat matematik tertentu. Jika nilai yang disediakan adalah sama dengan penambahan integernya sendiri yang dinaikkan kepada kuasa jumlah kiraan integer bagi nilai yang disediakan.



Sekarang, mari kita lawati beberapa contoh untuk lebih memahami:



Contoh 1: Mengenalpasti Nombor Armstrong





Lawati program untuk menyemak sama ada nombor yang diberikan ialah nombor Armstrong atau tidak:

import java.util.Scanner;
// Mengimport Utiliti yang Diperlukan.
ArmstrongChecker kelas awam {
utama lompang statik awam ( Tali [ ] args )
// Mengisytiharkan yang utama ( ) kaedah
{
Pengimbas demoTest = Pengimbas baharu ( Sistem.dalam ) ;
System.out.print ( 'Masukkan nombor untuk menyemak:' ) ;
int numEle = demoTest.nextInt ( ) ;

int origNum = numEle;
digit int = 0 ;
sementara ( origNum ! = 0 ) {
origNum / = 10 ;
digit++;
}

int jumlah = 0 ;
int temp = numEle;
untuk ( int i = 0 ; i < digit; i++ ) {
int awak = suhu % 10 ;
jumlah += Math.pow ( awak , digit ) ;
temp / = 10 ;
}

jika ( jumlah == nama ) {
System.out.println ( nama + ' ialah nombor Armstrong.' ) ;
} lain {
System.out.println ( nama + ' tidak Memuaskan Syarat untuk Nombor Armstrong.' ) ;
}
}
}


Penerangan kod di atas:



    • Pertama, objek untuk ' Pengimbas kelas ” dicipta untuk mendapatkan integer daripada pengguna akhir menggunakan “ nextInt() ' kaedah dan simpan data yang diambil dalam pembolehubah bernama ' NAMA ”.
    • Seterusnya, nilai yang diambil ini diberikan kepada pembolehubah jenis int bernama “ origNum ' dan memulakan pembolehubah bernama ' digit ” dengan “ 0 ”.
    • Kemudian, ' sementara gelung ” digunakan yang membahagikan origNum berulang kali dengan 10 dan menambah pembolehubah digit setiap kali sehingga origNum menjadi 0.
    • Selepas itu, isytiharkan pembolehubah ' jumlah ” dan tetapkan nilai “ NAMA ' kepada ' temp ” pembolehubah. Dan menggunakan ' untuk 'gelung yang berulang sehingga ' digit ” nilai pembolehubah.
    • Dan dalam setiap lelaran gelung 'untuk', digit terakhir ' temp ” diekstrak menggunakan operator modulus dan disimpan dalam pembolehubah baharu “ awak ”. Kemudian, kubus digit itu kemudiannya ditambah kepada “ jumlah ” pembolehubah menggunakan kaedah Math.pow().
    • Pada akhirnya, ' jika tidak Penyata ” digunakan untuk menentukan sama ada jumlah yang dikira adalah sama dengan nombor asal yang diberikan oleh pengguna. Jika kedua-dua nilai adalah sama, maka nombor yang diberikan ialah nombor Armstrong dan begitu juga sebaliknya.

Selepas kompilasi:


Output menunjukkan bahawa nombor yang diberikan ialah nombor Armstrong.

Contoh 2: Cari Semua Nombor Armstrong Kediaman Dalam Had Yang Diberikan

Untuk mencari semua nombor Armstrong kepada nilai atau had yang diberikan, lawati kod di bawah:

import java.util.Scanner;
import java.lang.Math;

kelas awam ArmstsrongNumberContoh
{
boolean statik ialahArmsNum ( int j ) {
peminat int, singDig = 0 , tamat = 0 , calc = 0 ;
buff =j;
sementara ( buff > 0 ) {
buff = buff / 10 ;
singDig++;
}
buff = j;
sementara ( buff > 0 )
{
hujung = buff % 10 ;
calc += ( Math.pow ( tamat, singDig ) ) ;
buff = buff / 10 ;
}
jika ( j ==calc )
kembali benar ;
lain kembali salah ;
}
utama lompang statik awam ( Args rentetan [ ] )
// Mengisytiharkan yang utama ( ) kaedah
{
int proNum;
Pengimbas sc = Pengimbas baharu ( Sistem.dalam ) ;
System.out.print ( 'Masukkan Had Atas: ' ) ;
proNum =sc.nextInt ( ) ;
System.out.println ( 'Nombor Armstrong sehingga Had yang disediakan' + proNum + 'adalah:' ) ;
untuk ( int k = 0 ; k < =forNum; k++ )
jika ( isArmsNum ( k ) )
System.out.print ( k+ ',' ) ;
}
}


Penjelasan kod di atas:

    • Mula-mula, isytiharkan berbilang pembolehubah 'buff', 'singDig', 'end' dan 'calc' yang mempunyai jenis ' int ”, di dalam kaedah jenis boolean bernama “ isArmsNum() ”. Ia menerima parameter yang diberikan kepada pembolehubah bernama ' buff ”.
    • Seterusnya, ' sementara ' gelung diisytiharkan yang berulang sehingga nilai buff mencapai ' 0 ”. Selepas itu, ' buff ' ialah modulus oleh ' 10 ” untuk mengeluarkan digit terakhir daripada nilai yang disediakan dan menambah “ singDig ” pembolehubah.
    • Kemudian, ' sementara gelung ' digunakan sekali lagi pada ' buff ” pembolehubah untuk mengekstrak digit terakhir. Kubus digit dikira dengan menggunakan “ Matematik. pow() kaedah ” dan kemudian ditambah pada “ calc ” pembolehubah.
    • Sekarang, ' jika pernyataan ' digunakan untuk menyemak sama ada nilai yang dikira dalam ' calc ” pembolehubah adalah sama dengan nilai yang disediakan oleh pengguna akhir atau tidak. Juga, paparkan mesej dengan sewajarnya.
    • Selepas itu, input daripada pengguna akhir diperoleh dengan bantuan ' Pengimbas ' utiliti dalam ' utama() ” kaedah.
    • Pada akhirnya, ' untuk ' gelung digunakan yang berulang sehingga nilai yang disediakan, dan setiap lelaran dipanggil ' isArmsNum() ” kaedah. Kaedah ini menerima semua nilai sehingga nilai yang disediakan dicapai dan menyemak setiap nilai untuk nombor Armstrong.

Selepas kompilasi:


Output memaparkan semua nombor Armstrong sehingga nilai yang disediakan iaitu “ 370 ” dalam kes ini.

Kesimpulan

Untuk mencari nombor Armstrong, mula-mula, hitung digit yang mengandungi nombor yang disediakan. Kemudian, keluarkan setiap digit daripada nombor yang disediakan satu persatu dengan bantuan operasi modulus dan bahagi. Seterusnya, naikkan setiap integer nilai kepada kuasa jumlah bilangan integer dan tambah nilai yang terhasil kepada pembolehubah baharu. Akhir sekali, semak sama ada nilai pembolehubah yang diperolehi adalah sama dengan nombor yang disediakan, jika ia sama maka nombor yang disediakan adalah nombor Armstrong, jika tidak.