12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- import javax.swing.JOptionPane;
- import java.util.Arrays;
- import flanagan.io.Db;
- import java.math.BigInteger;
- public class bigIntegerPotenzen {
- public static void main(String [] args) {
- // init variables
- int exponent = 0;
- int base = 3;
- BigInteger res;
- // get base input
- try {
- base = Db.readInt("base = ");
- } catch (NumberFormatException e) {
- Db.show("Error: no valid integer input provided");
- System.exit(1);
- }
- // get exponent input
- try {
- exponent = Db.readInt("exponent = ");
- } catch (NumberFormatException e) {
- Db.show("Error: no valid integer input provided");
- System.exit(1);
- }
- // validate that: exponent, base >= 0
- if (base < 0) {
- Db.show("Error: 'base' cannot be negative");
- System.exit(1);
- } else if (exponent < 0) {
- Db.show("Error: 'exponent' cannot be negative");
- System.exit(1);
- }
- // use big integer
- BigInteger bigN = BigInteger.valueOf(exponent);
- BigInteger bigB = BigInteger.valueOf(base);
- for (int n = 0; n <= exponent; n++) {
- res = bigB.pow(n);
- System.out.format("n = %d \t %d^%d \t %d (%d-digit)\n", n, base, n, res, res.toString().length());
- }
- }
- }
|