I have an equation that I need to write in BigInteger format. It needs to be in a for loop. This is what I have so far, but I'm not sure how to use BigInteger with it. This is the equation written to be in the for loop: i*(i+1)*(2*i+1)*(3*i*i+3*i-1)/30
public static BigInteger[] nthtetranum(int n) //This is the method using the simple formula for tetra number.
{
BigInteger[] nth = new BigInteger[n];
for(int i = 0; i <nth.length; i++)
{
//nth[i] = i*(i+1)*(2*i+1)*(3*i*i+3*i-1)/30;
nth[i] =
}
return nth;
BigInteger two = new BigInteger("2");
BigInteger three = new BigInteger("3");
BigInteger I = new BigInteger(""+i); // "I" is a bigint version of "i"
nth[i] = I
.multiply(I.add(BigInteger.ONE))
.multiply(I.multiply(two).add(BigInteger.ONE))
.multiply(I.multiply(I).multiply(three).add(I.multiply(three)).subtract(BigInteger.ONE))
.divide(new BigInteger("30"));
This expression is ugly, but it would not overflow even for "borderline" values of i.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With