logo

Moč števila v Javi

V tem razdelku bomo pisali programe Java za določanje moči števila. Če želite dobiti potenco števila, pomnožite število z eksponentom.

primer:

Predpostavimo, da je osnova 5 in eksponent 4. Če želite dobiti potenco števila, ga štirikrat pomnožite s samim seboj, tj. (5 * 5 * 5 * 5 = 625).

Kako določiti moč števila?

  • Osnovo in eksponent je treba prebrati ali inicializirati.
  • Vzemite drugo spremenljivo moč in jo nastavite na 1, da shranite rezultat.
  • Pomnožite osnovo s potenco in shranite rezultat v potenco z uporabo zanke for ali while.
  • Ponavljajte korak 3, dokler eksponent ni enak nič.
  • Natisnite izpis.

Metode iskanja moči števila

Obstaja več metod za določanje moči števila:

algoritem združevanja
  1. Uporaba Java for Loop
  2. Uporaba Java while Loop
  3. Uporaba rekurzije
  4. Uporaba metode Math.pow().
  5. Uporaba bitne manipulacije

1. Uporaba Java for Loop

Zanko for lahko uporabite za izračun moči števila z večkratnim množenjem osnove s samo seboj.

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. Uporaba Java while Loop

Zanko medtem lahko podobno uporabite za doseganje enakega rezultata z večkratnim množenjem osnove.

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); } } 

Izhod:

xdxd pomen
 2 raised to the power of 3 is 8 

3. Uporaba rekurzije:

Rekurzija je postopek razčlenitve težave na manjše podprobleme. Tukaj je primer, kako se lahko rekurzija uporabi za izračun moči števila.

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); } } } 

Izhod:

 2 raised to the power of 3 is 8 

4. Uporaba metode Math.pow().

Funkcija Math.pow() paketa java.lang neposredno izračuna moč celega števila.

PowerOfNumber4.java

vrsta vstavljanja
 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); } } 

Izhod:

 2.0 raised to the power of 3.0 is 8.0 

Ravnanje z negativnimi eksponenti:

Ko imamo opravka z negativnimi eksponenti, bi lahko bila koristna zamisel o vzajemnih potencah. Na primer, x^(-n) je enako 1/x^n. Tukaj je primer ravnanja z negativnimi eksponenti.

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;>

Optimizacija za cele eksponente:

Ko imate opravka s celoštevilskimi eksponenti, lahko optimizirate izračun tako, da ponovite le tolikokrat, kot je vrednost eksponenta. Zmanjša število nepotrebnih množenj.

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. Uporaba bitne manipulacije za izračun binarnih eksponentov:

Bitno manipulacijo je mogoče uporabiti za boljše izboljšanje celih eksponentov. Če želite narediti manj množenja, lahko uporabite binarno predstavitev eksponenta.

shraniti iz

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; } } 

Izhod:

 2.0 raised to the power of 5 is: 32.0