This is where navigation should be.

FLOOR23 - Previous number with only 2,3 factors

Usage

nceil=floor23(n);

Description

floor23(n) returns the first number less than or equal to n, which can be written as a product of powers of 2 and 3.

The algorithm will look up the best size in a table, which is computed the first time the function is run. If the input size is larger than the largest value in the table, the input size will be reduced by factors of 2, until it is in range.

[nceil,table]=floor23(n) additionally returns the table used for lookup.

Examples:

Return the first number smaller or equal to 26 that can be written solely as products of powers of 2 and 3:

floor23(26)

This plot shows the behaviour of floor23 and ceil23 for numbers up to 100:

x=1:100;
plot(x,floor23(x),x,ceil23(x));
legend('floor23','ceil23','Location','Northwest');