posted 9 years ago
Having a bit of a problem working on problem 16 on the project euler site.
Given BigInteger base = BigInteger.valueOf(2); for both examples...
<blockquote>code:
<pre name="code" class="core">
BigInteger total = BigInteger.ZERO;
total = base.pow(1000);
</pre>
</blockquote>
gives different output than
<blockquote>code:
<pre name="code" class="core">
BigInteger total = BigInteger.ZERO;
for (int i = 0; i < 1000; i++)
{
total = total.multiply(base);
}
</pre>
</blockquote>
I'm really at a loss. Perhaps it's late and I'm not thinking clearly, but later methods to sum up the individual digits of total aren't giving me the right answer.
Given BigInteger base = BigInteger.valueOf(2); for both examples...
<blockquote>code:
<pre name="code" class="core">
BigInteger total = BigInteger.ZERO;
total = base.pow(1000);
</pre>
</blockquote>
gives different output than
<blockquote>code:
<pre name="code" class="core">
BigInteger total = BigInteger.ZERO;
for (int i = 0; i < 1000; i++)
{
total = total.multiply(base);
}
</pre>
</blockquote>
I'm really at a loss. Perhaps it's late and I'm not thinking clearly, but later methods to sum up the individual digits of total aren't giving me the right answer.
The very existence of flamethrowers proves that at some time, some where, some place, someone once said to themselves "I'd really like to set those people on fire over there, but I just can't get close enough".
Nathan Leniz
Ranch Hand
Posts: 132
posted 9 years ago
Sorry, getting late. Rather than using BigInteger.Zero in the second loop, I used BigInteger.valueOf(2).
And I found out what it's doing, the second way is actually taking it to the 1001st power. Still no luck on the answer.
Oh, here is the link. Project Euler problem 16.
And I found out what it's doing, the second way is actually taking it to the 1001st power. Still no luck on the answer.
Oh, here is the link. Project Euler problem 16.
The very existence of flamethrowers proves that at some time, some where, some place, someone once said to themselves "I'd really like to set those people on fire over there, but I just can't get close enough".
posted 9 years ago
Just as an aside, I've done a fair number of the Project Euler problems in Java, and I've always considered using the BigInteger class as a bit of cheating. It's more interesting to come up with alternative solutions, IMO. The whole point is to learn about algorithms and math, after all.
The government thinks you are too stupid to make your own lightbulb choices. But this tiny ad thinks you are smart:
The WEB SERVICES and JAXRS Course
https://coderanch.com/t/690789/WEBSERVICESJAXRS
