From 27b8f5fdd83a41a8bfe687f00fb35c8d3eb5a804 Mon Sep 17 00:00:00 2001 From: daniel-campbell-327 <63069027+daniel-campbell-327@users.noreply.github.com> Date: Mon, 15 Mar 2021 16:44:36 +0000 Subject: [PATCH 1/2] Solution to Euler Project Problem31 --- ProjectEuler/Problem31.java | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 ProjectEuler/Problem31.java diff --git a/ProjectEuler/Problem31.java b/ProjectEuler/Problem31.java new file mode 100644 index 000000000000..c96541d881b2 --- /dev/null +++ b/ProjectEuler/Problem31.java @@ -0,0 +1,37 @@ +package ProjectEuler; + +/** + * + *In the United Kingdom the currency is made up of pound (£) and pence (p). There are eight coins in general circulation: + * + *
1p, 2p, 5p, 10p, 20p, 50p, £1 (100p), and £2 (200p). + * + *
It is possible to make £2 in the following way: + * + *
1×£1 + 1×50p + 2×20p + 1×5p + 1×2p + 3×1p + * + *
How many different ways can £2 be made using any number of coins? + * + *
link: https://projecteuler.net/problem=31 + */ +public class Problem31 { + public static void main(String[] args) { + assert solution1() == 1; + } + + + public static int solution1() { + int target = 200; + int[] coins = {1, 2, 5, 10, 20, 50, 100, 200}; + int[] combos = new int[201]; + combos[0] = 1; + + for (int coin : coins) { + for (int j = coin; j <= target; j++) { + combos[j] += combos[j - coin]; + } + } + + return combos[200]; + } +} \ No newline at end of file From 19457d2a61f35d797e29d0db545f327b8bc143bb Mon Sep 17 00:00:00 2001 From: daniel-campbell-327 <63069027+daniel-campbell-327@users.noreply.github.com> Date: Mon, 15 Mar 2021 16:59:18 +0000 Subject: [PATCH 2/2] Fixed formatting --- ProjectEuler/Problem31.java | 45 ++++++++++++++++++------------------- 1 file changed, 22 insertions(+), 23 deletions(-) diff --git a/ProjectEuler/Problem31.java b/ProjectEuler/Problem31.java index c96541d881b2..6f58ddbebe5d 100644 --- a/ProjectEuler/Problem31.java +++ b/ProjectEuler/Problem31.java @@ -1,37 +1,36 @@ package ProjectEuler; /** + * In the United Kingdom the currency is made up of pound (£) and pence (p). There are eight coins + * in general circulation: * - *In the United Kingdom the currency is made up of pound (£) and pence (p). There are eight coins in general circulation: + *
1p, 2p, 5p, 10p, 20p, 50p, £1 (100p), and £2 (200p). * - *
1p, 2p, 5p, 10p, 20p, 50p, £1 (100p), and £2 (200p). + *
It is possible to make £2 in the following way: * - *
It is possible to make £2 in the following way: + *
1×£1 + 1×50p + 2×20p + 1×5p + 1×2p + 3×1p * - *
1×£1 + 1×50p + 2×20p + 1×5p + 1×2p + 3×1p - * - *
How many different ways can £2 be made using any number of coins? + *
How many different ways can £2 be made using any number of coins? * *
link: https://projecteuler.net/problem=31 */ public class Problem31 { - public static void main(String[] args) { - assert solution1() == 1; - } - + public static void main(String[] args) { + assert solution1() == 1; + } - public static int solution1() { - int target = 200; - int[] coins = {1, 2, 5, 10, 20, 50, 100, 200}; - int[] combos = new int[201]; - combos[0] = 1; + public static int solution1() { + int target = 200; + int[] coins = {1, 2, 5, 10, 20, 50, 100, 200}; + int[] combos = new int[201]; + combos[0] = 1; - for (int coin : coins) { - for (int j = coin; j <= target; j++) { - combos[j] += combos[j - coin]; - } - } - - return combos[200]; + for (int coin : coins) { + for (int j = coin; j <= target; j++) { + combos[j] += combos[j - coin]; + } } -} \ No newline at end of file + + return combos[200]; + } +}