raise To Power In Precision - Java java.lang

Java examples for java.lang:Math Calculation

Description

raise To Power In Precision

Demo Code

/**// w  w w  .j  a  v  a2 s .c  o  m
 *
 * maer - Solutions to problems of Project Euler
 * Copyright (C) 2011, Sandeep Gupta
 * http://www.sangupta.com/projects/maer
 *
 * The file is licensed under the the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 */
//package com.java2s;
import java.math.BigInteger;

public class Main {
    public static BigInteger raiseToPowerInPrecision(int i, long power,
            int precision) {
        BigInteger number = BigInteger.valueOf(i);
        BigInteger product = BigInteger.valueOf(1l);
        for (long l = 0; l < power; l++) {
            product = product.multiply(number);

            product = trimToPrecision(product, precision);
        }

        return product;
    }

    public static BigInteger trimToPrecision(BigInteger number,
            int precision) {
        String n = number.toString();
        if (n.length() > precision) {
            n = n.substring(n.length() - precision);
        }
        return new BigInteger(n);
    }
}

Related Tutorials