in src/dp.rs [179:204]
fn test_dp() {
// base10
assert_eq!(
to_ints(find_dp_u32("3413", 10)),
vec![3413, 3409, 3399, 2999]
);
assert_eq!(to_ints(find_dp_u32("2999", 10)), vec![2999]);
assert_eq!(to_ints(find_dp_u32("181", 10)), vec![181, 179, 99]);
assert_eq!(to_ints(find_dp_u32("1979", 10)), vec![1979, 1899, 999]);
assert_eq!(
to_ints(find_dp_u32("1992", 10)),
vec![1992, 1989, 1899, 999]
);
assert_eq!(to_ints(find_dp_u32("1799", 10)), vec![1799, 999]);
assert_eq!(to_ints(find_dp_u32("1700", 10)), vec![1700, 1699, 999]);
assert_eq!(to_ints(find_dp_u32("1000", 10)), vec![1000, 999]);
assert_eq!(to_ints(find_dp_u32("999", 10)), vec![999]);
assert_eq!(to_ints(find_dp_u32("100099", 10)), vec![100099, 99999]);
// base4
assert_eq!(to_ints(find_dp_u32("312", 4)), vec![312, 303, 233]);
assert_eq!(to_ints(find_dp_u32("311", 4)), vec![311, 303, 233]);
assert_eq!(to_ints(find_dp_u32("310", 4)), vec![310, 303, 233]);
assert_eq!(to_ints(find_dp_u32("322", 4)), vec![322, 313, 233]);
assert_eq!(to_ints(find_dp_u32("233", 4)), vec![233]);
}