Solution (source code)

= Solution

The inclusive range contains $2147483648=2^{31}$ distinct states. An $n$-<bit> <binary counter> has $2^n$ states, so \b[31 <JK flip-flops> in total] are necessary and sufficient for the required capacity: add 28 to the three shown.

This is a capacity calculation. The printed positive-edge, uncomplemented-output cascade visits these codes in descending order. To obtain increasing numerical order one must change the cascade clock polarity, for example clocking each positive-edge stage from the preceding complemented output.