From 81aa111760fd7958f8463f96699165a35bd4bce8 Mon Sep 17 00:00:00 2001 From: kkulma Date: Thu, 8 Oct 2020 21:51:49 +0100 Subject: [PATCH 1/9] solved problem 16 in R --- R/16. Power digit sum/kkulma.R | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 R/16. Power digit sum/kkulma.R diff --git a/R/16. Power digit sum/kkulma.R b/R/16. Power digit sum/kkulma.R new file mode 100644 index 0000000..1e16f4f --- /dev/null +++ b/R/16. Power digit sum/kkulma.R @@ -0,0 +1,15 @@ +power_digit_sum <- function(num, ...) { + tidy_num <- formatC(num, ...) + num_char <- as.character(tidy_num) + num_split <- unlist(strsplit(num_char, split = "")) + sum(as.numeric(num_split)) +} + +# show that the example works +power_digit_sum(2^15) + +# solution +# 1200 +power_digit_sum(2^1000, format = "f", digits = 0) + + From 9f02dceac82c9711d6244981dbe282fae84e2fce Mon Sep 17 00:00:00 2001 From: kkulma Date: Thu, 8 Oct 2020 22:00:49 +0100 Subject: [PATCH 2/9] solved problem 20 in R --- R/20. Factorial digit sum/kkulma.R | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 R/20. Factorial digit sum/kkulma.R diff --git a/R/20. Factorial digit sum/kkulma.R b/R/20. Factorial digit sum/kkulma.R new file mode 100644 index 0000000..6ef4750 --- /dev/null +++ b/R/20. Factorial digit sum/kkulma.R @@ -0,0 +1,15 @@ +power_digit_sum <- function(num, ...) { + tidy_num <- formatC(num, ...) + num_char <- as.character(tidy_num) + num_split <- unlist(strsplit(num_char, split = "")) + sum(as.numeric(num_split)) +} + +# show that the example works +power_digit_sum(factorial(10), format = "f", digits = 0) + +# solution +# 645 +power_digit_sum(factorial(100), format = "f", digits = 0) + + From 7918ec5c5551f8796185acd758ab6345478ef8e4 Mon Sep 17 00:00:00 2001 From: Kasia Date: Thu, 8 Oct 2020 22:06:37 +0100 Subject: [PATCH 3/9] added R ticks --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index b794d72..08fa308 100644 --- a/README.md +++ b/README.md @@ -45,11 +45,11 @@ Happy Contributing! 😃 | 13 | [Large sum](https://projecteuler.net/problem=13) | :white_check_mark: | | | :white_check_mark: | | | | | | | | | | 14 | [Longest Collatz sequence](https://projecteuler.net/problem=14) | | | | | | | | | | | | | | 15 | [Lattice paths](https://projecteuler.net/problem=15) | | | | | | | | | | | | | -| 16 | [Power digit sum](https://projecteuler.net/problem=16) | | :white_check_mark: | | :white_check_mark: | | | | | | | | | +| 16 | [Power digit sum](https://projecteuler.net/problem=16) | | :white_check_mark: | | :white_check_mark: | | | | | | :white_check_mark: | | | | 17 | [Number letter counts](https://projecteuler.net/problem=17) | | | | :white_check_mark: | | | | | | | | | | 18 | [Maximum path sum I](https://projecteuler.net/problem=18) | | | | :white_check_mark: | | | | | | | | | | 19 | [Counting Sundays](https://projecteuler.net/problem=19) | | | | | | | | | | | | | -| 20 | [Factorial digit sum](https://projecteuler.net/problem=20) | | :white_check_mark: | | :white_check_mark: | :white_check_mark: | | | | | | | | +| 20 | [Factorial digit sum](https://projecteuler.net/problem=20) | | :white_check_mark: | | :white_check_mark: | :white_check_mark: | | | | | :white_check_mark: | | | | 21 | [Amicable numbers](https://projecteuler.net/problem=21) | | | | | | | | | | | | | | 22 | [Names scores](https://projecteuler.net/problem=22) | | | | :white_check_mark: | | | | | | | | | | 23 | [Non-abundant sums](https://projecteuler.net/problem=23) | | | | | | | | | | | | | From 9271f707f75e16deb13bf9669b8d66e4a7c2138a Mon Sep 17 00:00:00 2001 From: Kasia Date: Thu, 8 Oct 2020 22:07:59 +0100 Subject: [PATCH 4/9] Update README.md fixed table formatting --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 08fa308..936c691 100644 --- a/README.md +++ b/README.md @@ -45,11 +45,11 @@ Happy Contributing! 😃 | 13 | [Large sum](https://projecteuler.net/problem=13) | :white_check_mark: | | | :white_check_mark: | | | | | | | | | | 14 | [Longest Collatz sequence](https://projecteuler.net/problem=14) | | | | | | | | | | | | | | 15 | [Lattice paths](https://projecteuler.net/problem=15) | | | | | | | | | | | | | -| 16 | [Power digit sum](https://projecteuler.net/problem=16) | | :white_check_mark: | | :white_check_mark: | | | | | | :white_check_mark: | | | +| 16 | [Power digit sum](https://projecteuler.net/problem=16) | | :white_check_mark: | | :white_check_mark: | | | | | | :white_check_mark: | | | | 17 | [Number letter counts](https://projecteuler.net/problem=17) | | | | :white_check_mark: | | | | | | | | | | 18 | [Maximum path sum I](https://projecteuler.net/problem=18) | | | | :white_check_mark: | | | | | | | | | | 19 | [Counting Sundays](https://projecteuler.net/problem=19) | | | | | | | | | | | | | -| 20 | [Factorial digit sum](https://projecteuler.net/problem=20) | | :white_check_mark: | | :white_check_mark: | :white_check_mark: | | | | | :white_check_mark: | | | +| 20 | [Factorial digit sum](https://projecteuler.net/problem=20) | | :white_check_mark: | | :white_check_mark: | :white_check_mark: | | | | | :white_check_mark: | | | | 21 | [Amicable numbers](https://projecteuler.net/problem=21) | | | | | | | | | | | | | | 22 | [Names scores](https://projecteuler.net/problem=22) | | | | :white_check_mark: | | | | | | | | | | 23 | [Non-abundant sums](https://projecteuler.net/problem=23) | | | | | | | | | | | | | From a5d7d18bfe0eadbdcd5361d6cde3921e459c4b7c Mon Sep 17 00:00:00 2001 From: kkulma Date: Sun, 11 Oct 2020 23:06:39 +0100 Subject: [PATCH 5/9] solved problem 24 in R --- R/24.Lexicographic permutations/kkulma.R | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 R/24.Lexicographic permutations/kkulma.R diff --git a/R/24.Lexicographic permutations/kkulma.R b/R/24.Lexicographic permutations/kkulma.R new file mode 100644 index 0000000..0e963e9 --- /dev/null +++ b/R/24.Lexicographic permutations/kkulma.R @@ -0,0 +1,13 @@ +library(gtools) + +base <- 0:9 + +# run permutations +perm <- permutations(n = 10, + r = 10, + v = base) + +# solution +# 2 7 8 3 9 1 5 4 6 0 +perm[1000000, ] + From 762a22fac5dc5d983de3bf325b9d33ce5fdf2c7c Mon Sep 17 00:00:00 2001 From: Kasia Date: Sun, 11 Oct 2020 23:10:30 +0100 Subject: [PATCH 6/9] added ex24 - R tick --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 936c691..3cdf061 100644 --- a/README.md +++ b/README.md @@ -52,7 +52,7 @@ Happy Contributing! 😃 | 20 | [Factorial digit sum](https://projecteuler.net/problem=20) | | :white_check_mark: | | :white_check_mark: | :white_check_mark: | | | | | :white_check_mark: | | | | 21 | [Amicable numbers](https://projecteuler.net/problem=21) | | | | | | | | | | | | | | 22 | [Names scores](https://projecteuler.net/problem=22) | | | | :white_check_mark: | | | | | | | | | -| 23 | [Non-abundant sums](https://projecteuler.net/problem=23) | | | | | | | | | | | | | +| 23 | [Non-abundant sums](https://projecteuler.net/problem=23) | | | | | | | | | | :white_check_mark: | | | | 24 | [Lexicographic permutations](https://projecteuler.net/problem=24) | | | | | | | | | | | | | | 25 | [1000-digit Fibonacci number](https://projecteuler.net/problem=25) | | | | :white_check_mark: | | | | | | | | | | 26 | [Reciprocal cycles](https://projecteuler.net/problem=26) | | | | | | | | | | | | | From bc9bf1135bb17cf2615bd5b4006c79e16f52df82 Mon Sep 17 00:00:00 2001 From: Kasia Date: Sun, 11 Oct 2020 23:12:02 +0100 Subject: [PATCH 7/9] ex 24 - R tick correction --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 3cdf061..e975a17 100644 --- a/README.md +++ b/README.md @@ -52,8 +52,8 @@ Happy Contributing! 😃 | 20 | [Factorial digit sum](https://projecteuler.net/problem=20) | | :white_check_mark: | | :white_check_mark: | :white_check_mark: | | | | | :white_check_mark: | | | | 21 | [Amicable numbers](https://projecteuler.net/problem=21) | | | | | | | | | | | | | | 22 | [Names scores](https://projecteuler.net/problem=22) | | | | :white_check_mark: | | | | | | | | | -| 23 | [Non-abundant sums](https://projecteuler.net/problem=23) | | | | | | | | | | :white_check_mark: | | | -| 24 | [Lexicographic permutations](https://projecteuler.net/problem=24) | | | | | | | | | | | | | +| 23 | [Non-abundant sums](https://projecteuler.net/problem=23) | | | | | | | | | | | | | +| 24 | [Lexicographic permutations](https://projecteuler.net/problem=24) | | | | | | | | | | :white_check_mark: | | | | 25 | [1000-digit Fibonacci number](https://projecteuler.net/problem=25) | | | | :white_check_mark: | | | | | | | | | | 26 | [Reciprocal cycles](https://projecteuler.net/problem=26) | | | | | | | | | | | | | | 27 | [Quadratic primes](https://projecteuler.net/problem=27) | | :white_check_mark: | | | | | | | | | | | From 4a7abefdab0d618317969450b3232b826228f472 Mon Sep 17 00:00:00 2001 From: kkulma Date: Sun, 11 Oct 2020 23:29:17 +0100 Subject: [PATCH 8/9] solved problem 19 in R --- R/19.Counting Sundays/kkulma.R | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 R/19.Counting Sundays/kkulma.R diff --git a/R/19.Counting Sundays/kkulma.R b/R/19.Counting Sundays/kkulma.R new file mode 100644 index 0000000..a09a0b3 --- /dev/null +++ b/R/19.Counting Sundays/kkulma.R @@ -0,0 +1,12 @@ +library(lubridate) +library(dplyr) + +base <- data.frame( + date = seq(as.Date("1901-01-01"), as.Date("2000-12-31"), by = "day") +) + +# solution +# 171 +base %>% + dplyr::mutate(dname = lubridate::wday(date, label = TRUE)) %>% + dplyr::filter(lubridate::day(date) == 1 & dname == "Sun") From a0801fe36d9491ae7b70e309b152fffd25f4ab09 Mon Sep 17 00:00:00 2001 From: Kasia Date: Sun, 11 Oct 2020 23:31:40 +0100 Subject: [PATCH 9/9] added ex 19 - R tick --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e975a17..b36a28c 100644 --- a/README.md +++ b/README.md @@ -48,7 +48,7 @@ Happy Contributing! 😃 | 16 | [Power digit sum](https://projecteuler.net/problem=16) | | :white_check_mark: | | :white_check_mark: | | | | | | :white_check_mark: | | | | 17 | [Number letter counts](https://projecteuler.net/problem=17) | | | | :white_check_mark: | | | | | | | | | | 18 | [Maximum path sum I](https://projecteuler.net/problem=18) | | | | :white_check_mark: | | | | | | | | | -| 19 | [Counting Sundays](https://projecteuler.net/problem=19) | | | | | | | | | | | | | +| 19 | [Counting Sundays](https://projecteuler.net/problem=19) | | | | | | | | | | :white_check_mark: | | | | 20 | [Factorial digit sum](https://projecteuler.net/problem=20) | | :white_check_mark: | | :white_check_mark: | :white_check_mark: | | | | | :white_check_mark: | | | | 21 | [Amicable numbers](https://projecteuler.net/problem=21) | | | | | | | | | | | | | | 22 | [Names scores](https://projecteuler.net/problem=22) | | | | :white_check_mark: | | | | | | | | |