logo

Szám ereje Java nyelven

Ebben a részben Java programokat fogunk írni egy szám hatványának meghatározására. Egy szám hatványának meghatározásához szorozzuk meg a számot kitevőjével.

Példa:

Tegyük fel, hogy az alap 5, a kitevő pedig 4. Egy szám hatványának megszerzéséhez szorozza meg önmagával négyszer, azaz (5 * 5 * 5 * 5 = 625).

Hogyan határozzuk meg egy szám erejét?

  • Az alapot és a kitevőt be kell olvasni vagy inicializálni kell.
  • Vegyünk egy másik változó hatványt, és állítsuk 1-re az eredmény mentéséhez.
  • Szorozza meg a bázist a teljesítményével, és tárolja az eredményt a teljesítményben a for vagy a while ciklus használatával.
  • Ismételje meg a 3. lépést, amíg a kitevő nulla nem lesz.
  • Nyomtassa ki a kimenetet.

Módszerek egy szám erejének megtalálására

Számos módszer létezik egy szám hatványának meghatározására:

könyvtár átnevezése linuxban
  1. Java for Loop használata
  2. Java használata ciklus közben
  3. Rekurzió használata
  4. A Math.pow() módszer használata
  5. Bitmanipuláció használata

1. Java for Loop használata

A for hurok felhasználható egy szám hatványának kiszámítására úgy, hogy az alapot ismételten megszorozzuk önmagával.

PowerOfNumber1.java

 public class PowerOfNumber1 { public static void main(String[] args) { int base = 2; int exponent = 3; int result = 1; for (int i = 0; i <exponent; i++) { result *="base;" } system.out.println(base + ' raised to the power of exponent is result); < pre> <p> <strong>Output:</strong> </p> <pre> 2 raised to the power of 3 is 8 </pre> <h3>2. Using Java while Loop</h3> <p>A while loop may similarly be used to achieve the same result by multiplying the base many times.</p> <p> <strong>PowerOfNumber2.java</strong> </p> <pre> public class PowerOfNumber2 { public static void main(String[] args) { int base = 2; int exponent = 3; int result = 1; int power=3; while (exponent &gt; 0) { result *= base; exponent--; } System.out.println(base + &apos; raised to the power of &apos; + power + &apos; is &apos; + result); } } </pre> <p> <strong>Output:</strong> </p> <pre> 2 raised to the power of 3 is 8 </pre> <h3>3. Using Recursion:</h3> <p>Recursion is the process of breaking down an issue into smaller sub-problems. Here&apos;s an example of how recursion may be used to compute a number&apos;s power.</p> <p> <strong>PowerOfNumber3.java</strong> </p> <pre> public class PowerOfNumber3 { public static void main(String[] args) { int base = 2; int exponent = 3; int result = power(base, exponent); System.out.println(base + &apos; raised to the power of &apos; + exponent + &apos; is &apos; + result); } public static int power(int base, int exponent) { if (exponent == 0) { return 1; } else { return base * power(base, exponent - 1); } } } </pre> <p> <strong>Output:</strong> </p> <pre> 2 raised to the power of 3 is 8 </pre> <h3>4. Using Math.pow() Method</h3> <p>The java.lang package&apos;s Math.pow() function computes the power of an integer directly.</p> <p> <strong>PowerOfNumber4.java</strong> </p> <pre> public class PowerOfNumber4 { public static void main(String[] args) { double base = 2.0; double exponent = 3.0; double result = Math.pow(base, exponent); System.out.println(base + &apos; raised to the power of &apos; + exponent + &apos; is &apos; + result); } } </pre> <p> <strong>Output:</strong> </p> <pre> 2.0 raised to the power of 3.0 is 8.0 </pre> <h3>Handling Negative Exponents:</h3> <p>When dealing with negative exponents, the idea of reciprocal powers might be useful. For instance, x^(-n) equals 1/x^n. Here&apos;s an example of dealing with negative exponents.</p> <p> <strong>PowerOfNumber5.java</strong> </p> <pre> public class PowerOfNumber5 { public static void main(String[] args) { double base = 2.0; int exponent = -3; double result = calculatePower(base, exponent); System.out.println(base + &apos; raised to the power of &apos; + exponent + &apos; is: &apos; + result); } static double calculatePower(double base, int exponent) { if (exponent &gt;= 0) { return calculatePositivePower(base, exponent); } else { return 1.0 / calculatePositivePower(base, -exponent); } } static double calculatePositivePower(double base, int exponent) { double result = 1.0; for (int i = 0; i <exponent; i++) { result *="base;" } return result; < pre> <p> <strong>Output:</strong> </p> <pre> 2.0 raised to the power of -3 is: 0.125 </pre> <h3>Optimizing for Integer Exponents:</h3> <p>When dealing with integer exponents, you may optimize the calculation by iterating only as many times as the exponent value. It decreases the number of unneeded multiplications.</p> <p> <strong>PowerOfNumber6.java</strong> </p> <pre> public class PowerOfNumber6 { public static void main(String[] args) { double base = 2.0; int exponent = 4; double result = calculatePower(base, exponent); System.out.println(base + &apos; raised to the power of &apos; + exponent + &apos; is: &apos; + result); } static double calculatePower(double base, int exponent) { double result = 1.0; for (int i = 0; i <exponent; i++) { result *="base;" } return result; < pre> <p> <strong>Output:</strong> </p> <pre> 2.0 raised to the power of 4 is: 16.0 </pre> <h3>5. Using Bit Manipulation to Calculate Binary Exponents:</h3> <p>Bit manipulation can be used to better improve integer exponents. To do fewer multiplications, an exponent&apos;s binary representation might be used.</p> <p> <strong>PowerOfNumber7.java</strong> </p> <pre> public class PowerOfNumber7 { public static void main(String[] args) { double base = 2.0; int exponent = 5; double result = calculatePower(base, exponent); System.out.println(base + &apos; raised to the power of &apos; + exponent + &apos; is: &apos; + result); } static double calculatePower(double base, int exponent) { double result = 1.0; while (exponent &gt; 0) { if ((exponent &amp; 1) == 1) { result *= base; } base *= base; exponent &gt;&gt;= 1; } return result; } } </pre> <p> <strong>Output:</strong> </p> <pre> 2.0 raised to the power of 5 is: 32.0 </pre> <hr></exponent;></pre></exponent;></pre></exponent;>

2. Java használata ciklus közben

A while hurok hasonlóképpen használható ugyanannak az eredménynek az eléréséhez az alap többszörös megszorzásával.

powershell többsoros megjegyzés

PowerOfNumber2.java

 public class PowerOfNumber2 { public static void main(String[] args) { int base = 2; int exponent = 3; int result = 1; int power=3; while (exponent &gt; 0) { result *= base; exponent--; } System.out.println(base + &apos; raised to the power of &apos; + power + &apos; is &apos; + result); } } 

Kimenet:

 2 raised to the power of 3 is 8 

3. A rekurzió használata:

A rekurzió egy probléma kisebb részproblémákra bontásának folyamata. Íme egy példa arra, hogyan használható a rekurzió egy szám hatványának kiszámítására.

PowerOfNumber3.java

 public class PowerOfNumber3 { public static void main(String[] args) { int base = 2; int exponent = 3; int result = power(base, exponent); System.out.println(base + &apos; raised to the power of &apos; + exponent + &apos; is &apos; + result); } public static int power(int base, int exponent) { if (exponent == 0) { return 1; } else { return base * power(base, exponent - 1); } } } 

Kimenet:

nick pulos fekete villám
 2 raised to the power of 3 is 8 

4. A Math.pow() metódus használata

A java.lang csomag Math.pow() függvénye közvetlenül számítja ki egy egész szám hatványát.

PowerOfNumber4.java

 public class PowerOfNumber4 { public static void main(String[] args) { double base = 2.0; double exponent = 3.0; double result = Math.pow(base, exponent); System.out.println(base + &apos; raised to the power of &apos; + exponent + &apos; is &apos; + result); } } 

Kimenet:

 2.0 raised to the power of 3.0 is 8.0 

Negatív kitevők kezelése:

Ha negatív kitevőkkel foglalkozunk, hasznos lehet a kölcsönös erők ötlete. Például x^(-n) egyenlő 1/x^n. Íme egy példa a negatív kitevők kezelésére.

PowerOfNumber5.java

 public class PowerOfNumber5 { public static void main(String[] args) { double base = 2.0; int exponent = -3; double result = calculatePower(base, exponent); System.out.println(base + &apos; raised to the power of &apos; + exponent + &apos; is: &apos; + result); } static double calculatePower(double base, int exponent) { if (exponent &gt;= 0) { return calculatePositivePower(base, exponent); } else { return 1.0 / calculatePositivePower(base, -exponent); } } static double calculatePositivePower(double base, int exponent) { double result = 1.0; for (int i = 0; i <exponent; i++) { result *="base;" } return result; < pre> <p> <strong>Output:</strong> </p> <pre> 2.0 raised to the power of -3 is: 0.125 </pre> <h3>Optimizing for Integer Exponents:</h3> <p>When dealing with integer exponents, you may optimize the calculation by iterating only as many times as the exponent value. It decreases the number of unneeded multiplications.</p> <p> <strong>PowerOfNumber6.java</strong> </p> <pre> public class PowerOfNumber6 { public static void main(String[] args) { double base = 2.0; int exponent = 4; double result = calculatePower(base, exponent); System.out.println(base + &apos; raised to the power of &apos; + exponent + &apos; is: &apos; + result); } static double calculatePower(double base, int exponent) { double result = 1.0; for (int i = 0; i <exponent; i++) { result *="base;" } return result; < pre> <p> <strong>Output:</strong> </p> <pre> 2.0 raised to the power of 4 is: 16.0 </pre> <h3>5. Using Bit Manipulation to Calculate Binary Exponents:</h3> <p>Bit manipulation can be used to better improve integer exponents. To do fewer multiplications, an exponent&apos;s binary representation might be used.</p> <p> <strong>PowerOfNumber7.java</strong> </p> <pre> public class PowerOfNumber7 { public static void main(String[] args) { double base = 2.0; int exponent = 5; double result = calculatePower(base, exponent); System.out.println(base + &apos; raised to the power of &apos; + exponent + &apos; is: &apos; + result); } static double calculatePower(double base, int exponent) { double result = 1.0; while (exponent &gt; 0) { if ((exponent &amp; 1) == 1) { result *= base; } base *= base; exponent &gt;&gt;= 1; } return result; } } </pre> <p> <strong>Output:</strong> </p> <pre> 2.0 raised to the power of 5 is: 32.0 </pre> <hr></exponent;></pre></exponent;>

Optimalizálás egész kitevőkre:

Egész kitevők kezelésekor optimalizálhatja a számítást úgy, hogy csak annyiszor iterál, ahányszor a kitevő értéke. Csökkenti a szükségtelen szorzások számát.

könyvtárat a linux parancsokban

PowerOfNumber6.java

 public class PowerOfNumber6 { public static void main(String[] args) { double base = 2.0; int exponent = 4; double result = calculatePower(base, exponent); System.out.println(base + &apos; raised to the power of &apos; + exponent + &apos; is: &apos; + result); } static double calculatePower(double base, int exponent) { double result = 1.0; for (int i = 0; i <exponent; i++) { result *="base;" } return result; < pre> <p> <strong>Output:</strong> </p> <pre> 2.0 raised to the power of 4 is: 16.0 </pre> <h3>5. Using Bit Manipulation to Calculate Binary Exponents:</h3> <p>Bit manipulation can be used to better improve integer exponents. To do fewer multiplications, an exponent&apos;s binary representation might be used.</p> <p> <strong>PowerOfNumber7.java</strong> </p> <pre> public class PowerOfNumber7 { public static void main(String[] args) { double base = 2.0; int exponent = 5; double result = calculatePower(base, exponent); System.out.println(base + &apos; raised to the power of &apos; + exponent + &apos; is: &apos; + result); } static double calculatePower(double base, int exponent) { double result = 1.0; while (exponent &gt; 0) { if ((exponent &amp; 1) == 1) { result *= base; } base *= base; exponent &gt;&gt;= 1; } return result; } } </pre> <p> <strong>Output:</strong> </p> <pre> 2.0 raised to the power of 5 is: 32.0 </pre> <hr></exponent;>

5. Bitmanipuláció használata bináris kitevők kiszámításához:

A bitmanipuláció az egész kitevők jobb javítására használható. Ha kevesebb szorzást szeretne végrehajtani, egy kitevő bináris ábrázolása használható.

PowerOfNumber7.java

 public class PowerOfNumber7 { public static void main(String[] args) { double base = 2.0; int exponent = 5; double result = calculatePower(base, exponent); System.out.println(base + &apos; raised to the power of &apos; + exponent + &apos; is: &apos; + result); } static double calculatePower(double base, int exponent) { double result = 1.0; while (exponent &gt; 0) { if ((exponent &amp; 1) == 1) { result *= base; } base *= base; exponent &gt;&gt;= 1; } return result; } } 

Kimenet:

 2.0 raised to the power of 5 is: 32.0