Nomor Armstrong adalah konsep kunci di bidang enkripsi dan dekripsi untuk keamanan data.
Konsep umum pemrosesan digit angka adalah teknik mendasar. Anda dapat menyelesaikan banyak tugas dengan pendekatan ini, seperti menjumlahkan angka, mendapatkan hasil kali angka, menghitung angka, dan membalikkan angka.
Tapi apa itu nomor Armstrong dan bagaimana Anda mengujinya?
Apa itu Nomor Armstrong?
Bilangan Armstrong adalah bilangan yang jumlah pangkat tiga dari digit-digitnya sama dengan bilangan itu sendiri. Misalnya, 153 adalah angka Armstrong. Jika Anda mengambil angka dari 153 satu per satu dan mengkubusnya:
(1 × 1 × 1) + (5 × 5 × 5) + (3 × 3 × 3)
Kemudian tambahkan hasilnya:
1 + 125 + 27
Anda akan mendapatkan 153, sama dengan angka aslinya.
Algoritma untuk Menemukan Nomor Armstrong
Menulis algoritme adalah langkah pertama untuk mengimplementasikan program apa pun. Algoritma tersebut dapat Anda gunakan sebagai acuan untuk menulis pseudocode, kemudian mengimplementasikannya menggunakan bahasa pemrograman yang Anda inginkan. Algoritme memberi Anda rangkaian instruksi yang tepat untuk diikuti, menghilangkan kesalahan logika dan membuat implementasi menjadi lebih sederhana.
Berikut algoritma untuk mengetahui apakah suatu bilangan Armstrong atau bukan:
- Deklarasikan variabel sum, temp, n, r
- Ambil nilai n dari pengguna
- Inisialisasi jumlah variabel ke 0 dan ambil cadangan n sebagai temp = n
- Ulangi langkah 5 - 7 sambil n > 0
- r = n% 10
- jumlah = jumlah + kubus dari setiap digit (r × r × r)
- n = n / 10
- Jika jumlah sama dengan suhu, tampilkan "Angka adalah angka Armstrong"
- Jika tidak, tampilkan "Nomor bukan Nomor Armstrong"
Pseudocode untuk Menerapkan Algoritma Armstrong
Pseudocode dapat menjadi langkah yang berguna dalam merancang implementasi suatu algoritma. Menulis pseudocode membantu Anda dengan mudah mengubahnya menjadi kode dalam bahasa pemrograman apa pun. Berikut pseudocode untuk penerapan nomor Armstrong:
Program Armstrong di C
Amati pseudocode di atas dan ubah setiap pernyataan menjadi kode C.
Mulailah dengan mengimpor stdio.h untuk melakukan operasi input dan output. Deklarasikan utama berfungsi dan mulai menerapkan logika program. Menggunakan N untuk menyimpan nomor input, R untuk menyimpan digit individual dari nomor tersebut, jumlah untuk menyimpan jumlah kubus dari digit, dan suhu untuk menyimpan salinan nomor tersebut.
Menggunakan printf berfungsi untuk meminta pengguna memasukkan nomor. Menggunakan scanf berfungsi untuk membaca angka dan menyimpannya dalam variabel N. %D adalah penentu format desimal untuk mengambil integer sebagai input.
Bersihkan semua nilai sampah dengan menginisialisasi jumlah sebagai nol dan ambil cadangan n sebagai temp.
#termasuk <stdio.h>
intutama()
{
int n, r, jumlah, suhu;
printf("Harap masukkan nomor: ");
scanf("%D", &N);
jumlah = 0; suhu = n;
Deklarasikan a ketika loop yang berjalan sampai angkanya nol atau kurang. Di dalam loop terdapat proses tiga langkah yang dapat Anda gunakan dalam berbagai tugas pemrograman lainnya. Ketiga langkah tersebut adalah:
- Dapatkan digit individual dari angka dengan mengambil modulus angka dengan 10. Saat Anda membagi angka apa pun dengan 10 secara keseluruhan, sisanya adalah digit terakhir itu sendiri. Misalnya, ketika Anda membagi 153 dengan 10, hasilnya adalah 15 dan modulusnya adalah 3.
- Ketika Anda memiliki digit individual, Anda dapat melakukan operasi yang Anda inginkan. Untuk menemukan bilangan Armstrong, operasi yang diinginkan adalah penjumlahan pangkat tiga dari digit-digit bilangan tersebut. Ambil kubus dari digit r dan tambahkan ke variabel penjumlahan.
- Hilangkan digit terakhir dari angka tersebut dengan membaginya dengan 10. Pada pembagian dengan 10, Anda mendapatkan hasil bagi, dalam hal ini, 15.
ketika (n > 0) {
r = n% 10;
jumlah = jumlah + (r * r * r);
n = n / 10;
}
Periksa apakah jumlah yang diperoleh sama dengan jumlah aslinya. Jika sama, angka tersebut memang merupakan angka Armstrong, jika tidak, bukan.
jika (temp == jumlah)
printf("Nomor adalah nomor Armstrong\n");
kalau tidak
printf("Nomor bukan nomor Armstrong\n");
kembali0;
}
Aplikasi Lain dari Algoritma Umum
Dengan mengubah langkah kedua dari logika tiga langkah yang terlihat di atas, Anda dapat mengimplementasikan berbagai program.
1. Jumlah, Produk Digit Angka
Untuk mendapatkan jumlah digit angka, cukup ganti baris dengan:
jumlah = jumlah + r;
Untuk produk, nyatakan variabel prod sebagai 1 dan ganti penjumlahan dengan simbol perkalian:
prod = prod * r;
2. Hitungan Digit Angka
Ke menghitung digit angka, cukup inisialisasi jumlah variabel ke nol, hilangkan langkah pertama, dan tingkatkan hingga n sama dengan nol. Implementasi loop akan terlihat seperti ini:
ketika (n > 0) {
hitung++;
n = n / 10;
}
3. Kebalikan Angka, Nomor Palindrom
Untuk membalik angka, inisialisasi variabel rev menjadi satu, dan tambahkan setelah mengalikannya dengan sepuluh:
putaran = (putaran * 10) + r;
Setelah Anda mendapatkan kebalikan dari angka, bandingkan dengan salinan angka asli itu sendiri. Jika angka kebalikannya sama dengan angka itu sendiri, itu adalah angka Palindrom.
4. Digit Terkecil dan Terbesar dari suatu Angka
Inisialisasi variabel min sebagai sembilan dan bandingkan dengan digit yang diambil dari langkah pertama untuk menemukan digit terkecil dari sebuah angka. Anda dapat menerapkannya sebagai:
jika (r < menit) {
min = r;
}
Demikian pula, inisialisasi variabel maks dengan nol, dan bandingkan dengan digit yang diekstraksi untuk menemukan digit terbesar dari sebuah angka. Anda dapat menerapkannya sebagai:
jika (r > maks) {
maks = r;
}
Ini adalah bagaimana Anda dapat menemukan angka terbesar dan terkecil dari suatu bilangan.
5. Nomor Khusus
Ada banyak angka lain, seperti angka Armstrong, yang dapat Anda hitung. Ini termasuk nomor Neon, nomor Automorphic, nomor Krishnamurthy, nomor Buzz, nomor Sempurna, nomor Ramah, dan bilangan prima Kembar.
Pemrograman dan Matematika
Matematika banyak digunakan dalam pemrograman. Matematika biner adalah inti dari pemrograman karena semua perangkat lunak yang Anda gunakan saat ini adalah kombinasi dari angka nol dan satu. Semua data yang Anda kerjakan disimpan dalam format biner. Aljabar linier digunakan dalam aplikasi pembelajaran mesin, algoritme grafik, perhitungan kuantum, dan banyak lagi.
Kalkulus, matematika diskrit, dan statistik banyak digunakan dalam pemecahan masalah dan desain algoritma. Matematika meningkatkan keterampilan komputasi Anda dan merupakan bagian penting dari pemrograman.