Algorithms to generate smooth numbers
See the definition of smooth number on Wikipedia and MathWorld.
Compute the first 10 3-smooth numbers, i.e. numbers of the form 2^i * 3^j
:
```rust use smooth_numbers::*;
assert_eq!( smooth(3, 10), [1, 2, 3, 4, 6, 8, 9, 12, 16, 18] ); ```
Compute the first 10 numbers of the form 2^i * 5^j
:
```rust use smooth_numbers::*;
asserteq!( withprimes(&[2, 5], 10), [1, 2, 4, 5, 8, 10, 16, 20, 25, 32] ); ```