in src/dp.rs [143:159]
fn find_mdp_u32(value: u32, base: u32) -> Vec<u32> {
let mut exp = base;
let mut ret: Vec<u32> = vec![value];
let mut prev = value;
while exp < value {
if (value + 1) % exp != 0 {
let temp = value / exp * exp - 1;
if prev != temp {
ret.push(temp);
prev = temp;
}
}
exp *= base;
}
ret
}