A differenza di Python (dove i poteri possono essere calcolati da un ** b), JAVA non ha un modo così rapido per ottenere il risultato della potenza di due numeri. Java ha funzione denominata pow nella classe Math, che restituisce un valore doppio
double pow(double base, double exponent)
Ma si può anche calcolare poteri di interi che utilizzano la stessa funzione. Nel seguente programma ho fatto lo stesso e alla fine sto convertendo il risultato in un numero intero (typecasting). Seguire l'esempio:
import java.util.*;
import java.lang.*; // CONTAINS THE Math library
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int n= sc.nextInt(); // Accept integer n
int m = sc.nextInt(); // Accept integer m
int ans = (int) Math.pow(n,m); // Calculates n^m
System.out.println(ans); // prints answers
}
}
In alternativa, Il java.math.BigInteger.pow(int exponent)
restituisce un BigInteger il cui valore è (questo^esponente). L'esponente è un numero intero piuttosto che un BigInteger. Esempio:
import java.math.*;
public class BigIntegerDemo {
public static void main(String[] args) {
BigInteger bi1, bi2; // create 2 BigInteger objects
int exponent = 2; // create and assign value to exponent
// assign value to bi1
bi1 = new BigInteger("6");
// perform pow operation on bi1 using exponent
bi2 = bi1.pow(exponent);
String str = "Result is " + bi1 + "^" +exponent+ " = " +bi2;
// print bi2 value
System.out.println(str);
}
}
fonte
2017-08-21 07:25:29
Questo è un possibile duplicato di questa domanda http://stackoverflow.com/questions/101439/the-most-efficient-way-to-implement-an-integer-based-power-function-powint- int – bpgergo