import print import strutils import sequtils import std/sugar ## Get sequences let file_path = "../data/stripped" proc getOEIS(): seq[seq[string]] = let f = open(file_path) var i = 0 var line : string var seqs: seq[seq[string]] while f.read_line(line): if i > 3: let seq = split(line, ",") let l = seq.len let nums = seq[1..(l-2)] seqs.add(nums) i = i + 1 f.close() return seqs var seqs = getOEIS() ## Sequence helpers proc startsWithSubsequence(xs: seq[string], ys: seq[string]): bool = if xs.len == 0: return true elif ys.len == 0: return false elif xs[0] == ys[0]: return startsWithSubsequence(xs[1.. p/sum) return 1 # to do: wrangle this in some kind of sequence of tuples, e.g., using some zip type of thing. var start = @["1", "2", "3", "4", "5", "6"] echo predictContinuation(seqs, start)