I det här avsnittet kommer vi att skriva Java-program för att bestämma styrkan av ett tal. För att få styrkan av ett tal, multiplicera talet med dess exponent.
Exempel:
Antag att basen är 5 och exponenten är 4. För att få potensen av ett tal, multiplicera det med sig självt fyra gånger, dvs (5 * 5 * 5 * 5 = 625).
Hur bestämmer man kraften i ett tal?
- Bas och exponent bör läsas eller initialiseras.
- Ta en annan variabel effekt och ställ in den på 1 för att spara resultatet.
- Multiplicera basen med makt och lagra resultatet i kraft med hjälp av for- eller while-slingan.
- Upprepa steg 3 tills exponenten är lika med noll.
- Skriv ut resultatet.
Metoder för att hitta kraften i ett tal
Det finns flera metoder för att bestämma ett tals makt:
sträng concat java
- Använder Java för Loop
- Använder Java medan Loop
- Använda Rekursion
- Använder Math.pow()-metoden
- Använda bitmanipulation
1. Använda Java för Loop
En for-loop kan användas för att beräkna potensen av ett tal genom att multiplicera basen med sig själv upprepade gånger.
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 > 0) { result *= base; exponent--; } System.out.println(base + ' raised to the power of ' + power + ' is ' + 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's an example of how recursion may be used to compute a number'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 + ' raised to the power of ' + exponent + ' is ' + 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'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 + ' raised to the power of ' + exponent + ' is ' + 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'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 + ' raised to the power of ' + exponent + ' is: ' + result); } static double calculatePower(double base, int exponent) { if (exponent >= 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 + ' raised to the power of ' + exponent + ' is: ' + 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'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 + ' raised to the power of ' + exponent + ' is: ' + result); } static double calculatePower(double base, int exponent) { double result = 1.0; while (exponent > 0) { if ((exponent & 1) == 1) { result *= base; } base *= base; exponent >>= 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. Använda Java medan Loop
En while-loop kan på liknande sätt användas för att uppnå samma resultat genom att multiplicera basen många gånger.
PowerOfNumber2.java
repl i java
public class PowerOfNumber2 { public static void main(String[] args) { int base = 2; int exponent = 3; int result = 1; int power=3; while (exponent > 0) { result *= base; exponent--; } System.out.println(base + ' raised to the power of ' + power + ' is ' + result); } }
Produktion:
2 raised to the power of 3 is 8
3. Använda rekursion:
Rekursion är processen att dela upp en fråga i mindre delproblem. Här är ett exempel på hur rekursion kan användas för att beräkna ett tals makt.
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 + ' raised to the power of ' + exponent + ' is ' + result); } public static int power(int base, int exponent) { if (exponent == 0) { return 1; } else { return base * power(base, exponent - 1); } } }
Produktion:
2 raised to the power of 3 is 8
4. Använda Math.pow()-metoden
Java.lang-paketets Math.pow()-funktion beräknar styrkan av ett heltal direkt.
java databas jdbc
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 + ' raised to the power of ' + exponent + ' is ' + result); } }
Produktion:
2.0 raised to the power of 3.0 is 8.0
Hantera negativa exponenter:
När man har att göra med negativa exponenter kan tanken på ömsesidiga krafter vara användbar. Till exempel är x^(-n) lika med 1/x^n. Här är ett exempel på hur man hanterar negativa exponenter.
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 + ' raised to the power of ' + exponent + ' is: ' + result); } static double calculatePower(double base, int exponent) { if (exponent >= 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 + ' raised to the power of ' + exponent + ' is: ' + 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'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 + ' raised to the power of ' + exponent + ' is: ' + result); } static double calculatePower(double base, int exponent) { double result = 1.0; while (exponent > 0) { if ((exponent & 1) == 1) { result *= base; } base *= base; exponent >>= 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;>
Optimera för heltalsexponenter:
När du hanterar heltalsexponenter kan du optimera beräkningen genom att bara iterera så många gånger som exponentvärdet. Det minskar antalet onödiga multiplikationer.
PowerOfNumber6.java
boolesk till strängjava
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 + ' raised to the power of ' + exponent + ' is: ' + 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'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 + ' raised to the power of ' + exponent + ' is: ' + result); } static double calculatePower(double base, int exponent) { double result = 1.0; while (exponent > 0) { if ((exponent & 1) == 1) { result *= base; } base *= base; exponent >>= 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. Använda bitmanipulation för att beräkna binära exponenter:
Bitmanipulation kan användas för att bättre förbättra heltalsexponenter. För att göra färre multiplikationer kan en exponents binära representation användas.
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 + ' raised to the power of ' + exponent + ' is: ' + result); } static double calculatePower(double base, int exponent) { double result = 1.0; while (exponent > 0) { if ((exponent & 1) == 1) { result *= base; } base *= base; exponent >>= 1; } return result; } }
Produktion:
2.0 raised to the power of 5 is: 32.0