Problem:
2520 is the smallest number that can be divided by each of the numbers from 1 to 10 without any remainder.
What is the smallest positive number that is evenly divisible by all of the numbers from 1 to 20?
Solution:
232792560
Code:
The solution may include methods that will be found here: Library.java .
public interface EulerSolution{ public String run(); }
/* * Solution to Project Euler problem 5 * 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 p005 implements EulerSolution { public static void main(String[] args) { System.out.println(new p005().run()); } public String run() { BigInteger allLcm = BigInteger.ONE; for (int i = 1; i <= 20; i++) allLcm = lcm(BigInteger.valueOf(i), allLcm); return allLcm.toString(); } private static BigInteger lcm(BigInteger x, BigInteger y) { return x.divide(x.gcd(y)).multiply(y); } }
No comments :
Post a Comment