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