Sha256: ebf929c5bb172a1bb46dd3549f07b46a69015b9e0c5aa9c016f13b3f89961d1a

Contents?: true

Size: 800 Bytes

Versions: 80

Compression:

Stored size: 800 Bytes

Contents

# Determine whether the number is valid.
is_valid <- function(input) {
  
  # Strip spaces, check length & check for invalid characters
  input_vector <- strsplit(gsub(pattern = " ", replacement = "", input), "")[[1]]
  if (length(input_vector) < 2 || any(grepl("[^[:digit:]]", input_vector))) {
    return (FALSE)
  }
  
  # Convert to numeric
  num_vector <- as.numeric(input_vector)
  
  # Double every second digit starting from the right
  num_vector <- rev(num_vector)
  num_vector[seq(2,length(num_vector),2)] = num_vector[seq(2,length(num_vector),2)]*2
  
  # Subtract 9 if > 9 (can apply to all since no digit can be greater than 9 before doubling)
  num_vector <- ifelse(num_vector > 9, num_vector - 9, num_vector)
  
  # Check checksum is divisible by 10
  sum(num_vector) %% 10 == 0
  
}

Version data entries

80 entries across 80 versions & 1 rubygems

Version Path
trackler-2.1.0.21 tracks/r/exercises/luhn/example.R
trackler-2.1.0.20 tracks/r/exercises/luhn/example.R
trackler-2.1.0.19 tracks/r/exercises/luhn/example.R
trackler-2.1.0.18 tracks/r/exercises/luhn/example.R
trackler-2.1.0.17 tracks/r/exercises/luhn/example.R
trackler-2.1.0.16 tracks/r/exercises/luhn/example.R
trackler-2.1.0.15 tracks/r/exercises/luhn/example.R
trackler-2.1.0.14 tracks/r/exercises/luhn/example.R
trackler-2.1.0.13 tracks/r/exercises/luhn/example.R
trackler-2.1.0.12 tracks/r/exercises/luhn/example.R
trackler-2.1.0.11 tracks/r/exercises/luhn/example.R
trackler-2.1.0.10 tracks/r/exercises/luhn/example.R
trackler-2.1.0.9 tracks/r/exercises/luhn/example.R
trackler-2.1.0.8 tracks/r/exercises/luhn/example.R
trackler-2.1.0.7 tracks/r/exercises/luhn/example.R
trackler-2.1.0.6 tracks/r/exercises/luhn/example.R
trackler-2.1.0.5 tracks/r/exercises/luhn/example.R
trackler-2.1.0.4 tracks/r/exercises/luhn/example.R
trackler-2.1.0.3 tracks/r/exercises/luhn/example.R
trackler-2.1.0.2 tracks/r/exercises/luhn/example.R