JavaRush /Blog Jawa /Random-JV /Carane Exponentiate ing Jawa

Carane Exponentiate ing Jawa

Diterbitake ing grup
Hello donya! Googling soko utawa njaluk bantuan ing forum punika bab umum malah kanggo programmer experienced. Nanging ana topik ing pembangunan sing dhasar lan prasaja sing malah pamula ijo kudu ngerti. Lan iki minangka salah sawijining topik kasebut. Dina iki kita bakal pirembagan babagan carane eksponensial ditindakake ing Jawa. Carane nindakake eksponensi ing basa Jawa - 1Coba bayangake sedhela yen sampeyan diwenehi tugas: golek nomer kanthi tingkat tartamtu. Muni cukup prasaja, nanging carane ngleksanakake solusi? Ayo goleki cara sing paling umum lan sawetara alternatif. Lan sadurunge kita "nyilem" menyang solusi, ayo padha ngelingi dhisik apa mundhakaken nomer kanggo daya: Carane nindakake eksponensi ing basa Jawa - 2Raising kanggo daya iku tumindak kang siji nomer wis pingan dhewe kaping pirang-pirang. Angka kang dikalikake diarani basa, lan cacahe kang dikalikake diarani eksponen. Inggih, asil multiplying dhewe saka basa iki diarani eksponensial. Contone, kanggo 8 iku 2 kanggo daya katelu, wiwit 2x2x2 = 8. Mundhakaken nomer menyang daya kapindho nuduhake yen kita nggawe faktor kaping pindho, lan minangka aturan, daya iki disebut daya kothak. Yaiku, 4 kuadrat = 4x4 = 16. Dadi, kita wis nyegerake memori, lan saiki langsung pindhah menyang cara nggunakake pow ing Jawa - cara kanggo eksponensial.
  1. Matematika pow

    Cara paling gampang kanggo ngatasi masalah iki yaiku nggunakake kelas Math. Iki minangka solusi sing bakal digunakake ing pirang-pirang kasus.

    Carane Eksponensia ing Jawa - 3

    Kelas Matematika ngemot metode sing ana gandhengane karo trigonometri, geometri, lan aspek matematika liyane. Ing kono, cara dileksanakake minangka statis, supaya sampeyan bisa langsung nelpon kanthi jeneng kelas Math tanpa nggawe obyek kelas.

    Apa sing katon kaya eksponensial:

    public static int pow(int value, int powValue) {
       return (int) Math.pow(value, powValue);
    }

    Kita kudu nggunakake jinis cast (int), amarga cara iki saka kelas Math ngasilake nilai saka jinis pindho (bantahan uga pindho, nanging jinis cast implisit digunakake ana).

    Lan saiki - bonus: opsi tambahan.

  2. Nilai kuadrat saka nomer

    Ayo miwiti, mbok menawa, karo sing paling gampang.

    Mangkene cara nulis kuadrat:

    public static int pow(int value){
       return value*value;
    }

    Telpon utama:

    public static void main(String[] args) {
       System.out.println(Solution.pow(7));
    }

    Iku kabeh - ora ana sing rumit utawa ora perlu.

  3. Nomer menyang daya

    Nanging angka kuadrat ora kabeh sing dibutuhake. Paling asring ing karya kita, kita bakal mbutuhake nomer ing tingkat tartamtu, supaya ing ngisor iki minangka versi sing rada rumit, nanging kanthi 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;
    }

    Algoritma kasebut gampang banget: kita nyetel asil titik wiwitan, banjur tikelake kanthi nilai kaping pirang-pirang minangka loop karo powValue mlaku (nomer powValue)

  4. Rekursi

    Cara sabanjure bakal dadi luwih endah, nanging ora kurang keren.

    Carane Eksponensia ing Jawa - 4

    Rekursi minangka fitur sing ngidini cara nelpon dhewe. Ing Jawa, mekanisme kasebut ana, lan cara kasebut diarani rekursif.

    Akeh, yen ora kabeh, masalah algoritma bisa ditanggulangi kanthi rekursif. Iki uga ora ana pangecualian, mula ayo goleki carane sampeyan bisa ngunggahake nomer menyang daya tartamtu kanthi cara rekursif:

    public static int pow(int value, int powValue) {
       if (powValue == 1) {
           return value;
       } else {
           return value * pow(value, powValue - 1);
       }
    }

    Minangka kita bisa ndeleng, kita duwe rong kasus:

    1. Kondisi kanggo metu saka rekursi, utawa kanthi tembung liya, nalika nilai gelar kita tekan siji, kita bakal mulai dibuwang maneh.
    2. Mekanisme dhewe kanggo nikelaken Nilai dening asil nelpon cara padha, nanging karo powValue - 1.

    Nah, saiki wektune kanggo ndeleng cara sing luwih malas, yaiku, metode "metu saka kothak".

  5. BigInteger

    Tujuan utama kelas BigInteger yaiku kanggo nyimpen integer kanthi ukuran sing sewenang-wenang, nanging ing wektu sing padha nduweni macem-macem cara aritmetika sing ngidini sampeyan nggarap nomer gedhe (utawa ora gedhe banget).

    Carane Exponentiate ing Jawa - 5

    Sampeyan bisa maca liyane babagan BigInteger ing artikel iki .

    Dadi kaya apa eksponensi nggunakake BigInteger ing Jawa?

    public static int pow(int value, int powValue) {
       BigInteger a = new BigInteger(String.valueOf(value));
      return a.pow(powValue).intValue();
    }

    Cukup prasaja lan tanpa masalah, ta?

Nah, iku kabeh kanggo dina iki! Saiki sampeyan ngerti babagan macem-macem cara kanggo exponentiate. Setuju, iki dudu topik sing angel :)
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION