>>20 を対応

これらは非オーバーラップ版としてそのまま動作

>> const IN: Count = |t, n| t.to_string().contains(&n.to_string()) as usize;
>> const DIV_OR_IN: Count = |t, n| (t % n == 0 || t.to_string().contains(&n.to_string())) as usize;
>> const DIV_AND_MULTI_IN: Count = |t, n| (t % n == 0) as usize + t.to_string().split(&n.to_string()).count() - 1;

オーバーラップ版は新設

const DIV_AND_MULTI_IN_OVERLAP: Count = |t, n| (t % n == 0) as usize + overlap_count(t, n);

fn overlap_count(haystack: usize, needle: usize) -> usize {
let haystack = haystack.to_string().into_bytes();
let needle = needle.to_string().into_bytes();
haystack.windows(needle.len()).filter(|&target| target == needle).count()
}