-
Kekuatan matematika
Cara termudah untuk menyelesaikan masalah ini adalah dengan menggunakan kelas Matematika. Ini adalah solusi yang akan Anda gunakan dalam banyak kasus.
Kelas Matematika berisi metode yang berkaitan dengan trigonometri, geometri, dan aspek matematika lainnya. Di dalamnya, metode diimplementasikan sebagai statis, sehingga Anda dapat langsung memanggilnya melalui nama kelas Math tanpa membuat objek kelas.
Seperti apa bentuk eksponensial:
public static int pow(int value, int powValue) { return (int) Math.pow(value, powValue); }
Kami harus menggunakan tipe cast (int), karena metode kelas Math ini mengembalikan nilai tipe double (argumennya juga double, tetapi tipe cast implisit digunakan di sana).
Dan sekarang - bonus: opsi tambahan.
-
Nilai kuadrat suatu bilangan
Mari kita mulai dengan hal yang paling sederhana.
Beginilah cara penulisan metode kuadrat:
public static int pow(int value){ return value*value; }
Panggilan utama:
public static void main(String[] args) { System.out.println(Solution.pow(7)); }
Itu saja - tidak ada yang rumit dan tidak perlu.
-
Nomor yang berkuasa
Namun angka kuadrat bukanlah satu-satunya hal yang kita perlukan. Seringkali dalam pekerjaan kita, kita memerlukan angka sampai tingkat tertentu, jadi berikut ini adalah versi yang sedikit lebih rumit, tetapi dengan nilai java pow khusus:
public static void main(String[] args) { System.out.println(Solution.pow(7, 4)); } public static int pow(int value, int powValue) { int result = 1; for (int i = 1; i <= powValue; i++) { result = result * value; } return result; }
Algoritmenya sangat sederhana: kita menetapkan hasil titik awal, lalu mengalikannya dengan nilai kita sebanyak loop dengan powValue berjalan (powValue berapa kali)
-
Pengulangan
Cara selanjutnya akan sedikit lebih eksotik, namun tidak kalah kerennya.
Rekursi adalah fitur yang memungkinkan suatu metode memanggil dirinya sendiri. Di Java, mekanisme seperti itu ada, dan metode seperti itu disebut rekursif.
Banyak, jika tidak semua, permasalahan algoritmik dapat diselesaikan secara rekursif. Yang ini juga tidak terkecuali, jadi mari kita lihat bagaimana Anda dapat menaikkan angka ke pangkat tertentu secara rekursif:
public static int pow(int value, int powValue) { if (powValue == 1) { return value; } else { return value * pow(value, powValue - 1); } }
Seperti yang bisa kita lihat, kita punya dua kasus:
- Syarat keluar dari rekursi, atau dengan kata lain ketika nilai derajat kita mencapai satu, kita akan mulai terlempar kembali.
- Mekanisme perkalian nilai dengan hasil pemanggilan metode yang sama, tetapi dengan powValue - 1.
Nah, sekarang saatnya melihat metode yang lebih malas, yaitu metode “out of the box”.
-
Bilangan Bulat Besar
Tujuan utama kelas BigInteger adalah untuk menyimpan bilangan bulat dengan ukuran berapa pun, tetapi pada saat yang sama ia memiliki berbagai metode aritmatika yang memungkinkan Anda bekerja dengan bilangan yang sangat besar (atau tidak terlalu besar).
Anda dapat membaca lebih lanjut tentang BigInteger di artikel ini .
Jadi seperti apa eksponensial menggunakan BigInteger di Java?
public static int pow(int value, int powValue) { BigInteger a = new BigInteger(String.valueOf(value)); return a.pow(powValue).intValue(); }
Cukup sederhana dan tanpa kendala apa pun bukan?
Эллеонора Керри
Level 41
Cara Eksponensial di Java
Halo Dunia! Mencari sesuatu di Google atau meminta bantuan di forum adalah hal yang lumrah bahkan bagi seorang programmer berpengalaman. Namun ada topik-topik mendasar dan sederhana yang sedang dikembangkan sehingga bahkan seorang pemula yang ramah lingkungan pun harus mengetahuinya. Dan inilah salah satu topik tersebut. Hari ini kita akan membahas bagaimana eksponensial dilakukan di Java. Bayangkan sejenak Anda diberi tugas: menemukan suatu bilangan sampai tingkat tertentu. Kedengarannya cukup sederhana, namun bagaimana menerapkan solusinya? Mari kita lihat metode yang paling umum dan beberapa alternatif. Dan sebelum kita “mendalami” solusinya, mari kita ingat dulu apa yang dimaksud dengan menaikkan suatu bilangan: Menaikkan suatu bilangan adalah tindakan di mana satu bilangan dikalikan dengan bilangan itu sendiri beberapa kali. Bilangan yang dikalikan disebut bilangan pokok, dan berapa kali bilangan tersebut dikalikan disebut eksponen. Nah, hasil perkalian sendiri dari basis ini disebut dengan eksponensial. Misalnya, untuk 8 adalah 2 pangkat tiga, karena 2x2x2=8. Menaikkan suatu bilangan ke pangkat dua menunjukkan bahwa kita menjadikannya faktor dua kali, dan biasanya pangkat ini disebut pangkat kuadrat. Artinya, 4 kuadrat = 4x4 = 16. Jadi, kita telah menyegarkan ingatan kita, dan sekarang kita langsung beralih ke cara menggunakan pow di Java - metode eksponensial.
GO TO FULL VERSION