Apa Nomor Armstrong di Jawa? Ini Prasyarat dan Algoritma
Diterbitkan: 2021-04-08Daftar isi
Apa itu Nomor Armstrong?
Suatu bilangan x disebut bilangan Armstrong orde n jika sama dengan jumlah digit-digitnya dipangkatkan n, yaitu:
abc= pow(a,n) + pow(b,n) + pow(c,n)
Bilangan bulat positif yang terdiri dari n angka adalah bilangan Armstrong (orde 3) jika sama dengan jumlah pangkat tiga dari angka-angkanya. Sebagai contoh:
Masukan: 153
Keluaran: Ya
1*1*1 + 5*5*5 + 3*3*3 = 153
Jadi, 153 adalah bilangan Armstrong
Masukan: 121
Keluaran: Tidak
1*1*1 + 2*2*2 + 1*1*1 = 10
Jadi, 120 bukan bilangan Armstrong.
Prasyarat dan Algoritma
Pada artikel ini, kita akan belajar untuk memeriksa apakah suatu nomor input adalah nomor Armstrong atau bukan. Untuk ini, kita akan menggunakan perulangan while dan perulangan for di Java. Untuk memahami program ini, kita memerlukan pengetahuan tentang topik-topik berikut di Java:
- Pernyataan if-else Java
- Java untuk Loop
- Perulangan while dan do-while Java
Algoritma:
- Ambil variabel bilangan bulat x
- Nilai diberikan ke variabel x
- Digit nilai dibagi
- Nilai pangkat tiga dari setiap digit ditemukan
- Tambahkan nilai semua kubus
- Outputnya disimpan ke variabel penjumlahan
- Jika jumlah = X, cetak nomor Armstrong
Jika jumlah != X, cetak bukan bilangan Armstrong
Program Cek Nomor Armstrong di Java
1. Nomor Armstrong di Jawa orde 3
Kode:
kelas publik Armstrong{
public static void main(String[] args) {
int x=0,a,temp;
int n=153;//Ini adalah nomor untuk memeriksa Armstrong
suhu = n;
sementara (n>0)
{
a=n%10;
n=n/10;
x=x+(a*a*a);
}
jika(temp==x)
System.out.println(“Nomor Armstrong”);
lain
System.out.println(“Bukan bilangan Armstrong”);
}
}
Keluaran:
Penjelasan
Pertama, nilai bilangan N yang diberikan disimpan dalam variabel integer lain, x. Ini dilakukan karena kita perlu membandingkan nilai bilangan asli dan bilangan akhir di akhir. Perulangan while digunakan untuk melewati bilangan N sampai sama dengan 0. Pada setiap iterasi, digit terakhir dari N disimpan dalam a.
Kemudian hasilnya dihitung dengan pangkat tiga atau menggunakan Math. pow() dan menambahkannya ke x. Ketika digit terakhir dihilangkan dari N, itu dibagi dengan 10. Akhirnya =, temp dan X dibandingkan. Jika mereka sama, itu adalah nomor Armstrong. Jika tidak, tidak.
2. Bilangan Armstrong di Jawa orde n
Kode:
kelas publik Armstrong
{
/* Fungsi untuk menghitung kenaikan ke
daya b */
int daya (int a, panjang b)
{
jika ( b == 0)
kembali 1;
jika (b%2 == 0)
mengembalikan daya(a, b/2)*daya(a, b/2);
mengembalikan a*daya(a, b/2)*daya(a, b/2);
}
/* Berfungsi untuk menghitung urutan bilangan */
int urutan (int a)
{
int n = 0;
sementara (a != 0)
{
n++;
a = a/10;
}
kembali n;
}
// Berfungsi untuk memeriksa apakah angka yang diberikan adalah angka Armstrong atau bukan
boolean Armstrong (int a)
{
// Memanggil fungsi pesanan
int n = urutan(a);
int suhu=a, jumlah=0;
sementara (suhu!=0)
{
int r = suhu%10;
jumlah = jumlah + daya(r,n);
suhu = suhu/10;
}
// Jika memenuhi syarat Armstrong
kembali (jumlah == a);
}
// Program Pengemudi
public static void main(String[] args)
{
Armstrong obj = Armstrong baru();
int a = 153;
System.out.println(obj.isArmstrong(a));
a = 1276;
System.out.println(obj.isArmstrong(a));
}
}
keluaran :
Penjelasan
Dalam program ini, alih-alih loop sementara, kami telah menggunakan rekursi. Fungsi pertama digunakan untuk menghitung bilangan a yang dipangkatkan b. Math.pow(a,b) juga dapat digunakan untuk hal yang sama. Fungsi kedua memeriksa urutan nomor, seperti, 153 adalah urutan 3. Akhirnya, fungsi Boolean Armstrong digunakan untuk mengembalikan apakah nomor tersebut Armstrong atau tidak. Kemudian objek dari kelas Armstrong digunakan untuk memanggil fungsi.
Program Java untuk Mencetak Angka Armstrong dalam Rentang yang Diberikan
Kode:
kelas publik Armstrong
{
public static void main(String[] arg)
{
int i=0,x;
System.out.println("Angka Armstrong antara 0 sampai 999");
sementara (i<1000)
{
x=armstrongAtauTidak(i);
jika(x==i)
System.out.println(i);
saya++;
}
}
statis int armstrongOrNot(int n)
{
int c,a=0;
sementara(n!=0)
{
c=n%10;
a=a+(c*c*c);
t/=10 ;
}
kembalikan;
}
}
Keluaran:
Penjelasan: Dalam program ini, setiap angka antara interval rendah dan tinggi yang diberikan, diperiksa. Posting setiap cek, jumlah dan jumlah digit dikembalikan ke 0.
Kesimpulan
Pada artikel ini, kami membahas nomor Armstrong di java secara rinci. Kami melihat cara memeriksa apakah suatu nomor adalah nomor Armstrong orde n dan orde 3. Kami juga melihat bagaimana Anda bisa mendapatkan semua nomor Armstrong antara batas bawah dan atas.
Jika Anda ingin meningkatkan keterampilan Java Anda, Anda perlu mendapatkan proyek Java ini. Jika Anda tertarik untuk mempelajari lebih lanjut tentang Java, pengembangan full-stack, lihat Program PG Eksekutif upGrad & IIIT-B dalam Pengembangan Perangkat Lunak Full-stack yang dirancang untuk profesional yang bekerja dan menawarkan 500+ jam pelatihan ketat, 9+ proyek , dan penugasan, status Alumni IIIT-B, proyek batu penjuru praktis & bantuan pekerjaan dengan perusahaan-perusahaan top.
Jika Anda ingin mempelajari lebih lanjut tentang Java dan meningkatkan karir teknis Anda, maka jelajahi kursus online Java gratis oleh perusahaan pendidikan tinggi online terbesar di India, upGrad. Hubungi kami untuk lebih jelasnya.