Problem:
We can easily verify that none of the entries in the first seven rows of Pascal's triangle are divisible by 7:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
However, if we check the first one hundred rows, we will find that only 2361 of the 5050 entries are not divisible by 7.
Find the number of entries which are not divisible by 7 in the first one billion (109) rows of Pascal's triangle.
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
However, if we check the first one hundred rows, we will find that only 2361 of the 5050 entries are not divisible by 7.
Find the number of entries which are not divisible by 7 in the first one billion (109) rows of Pascal's triangle.
Solution:
9110846700
Code:
The solution may include methods that will be found here: Library.java .
public interface EulerSolution{
public String run();
}
/*
* Solution to Project Euler problem 48
* By Nayuki Minase
*
* http://nayuki.eigenstate.org/page/project-euler-solutions
* https://github.com/nayuki/Project-Euler-solutions
*/
import java.math.BigInteger;
public final class p048 implements EulerSolution {
public static void main(String[] args) {
System.out.println(new p048().run());
}
public String run() {
BigInteger modulus = BigInteger.TEN.pow(10);
BigInteger sum = BigInteger.ZERO;
for (int i = 1; i <= 1000; i++)
sum = sum.add(BigInteger.valueOf(i).modPow(BigInteger.valueOf(i), modulus));
return sum.mod(modulus).toString();
}
}
No comments :
Post a Comment