21 lines
329 B
JavaScript
21 lines
329 B
JavaScript
function loopWhile(varValue, fnDelta, fnTest) {
|
|
'use strict';
|
|
var d = fnDelta(varValue);
|
|
|
|
return fnTest(d) ? [d].concat(
|
|
loopWhile(d, fnDelta, fnTest)
|
|
) : [];
|
|
}
|
|
|
|
console.log(
|
|
loopWhile(
|
|
1024,
|
|
function (x) {
|
|
return Math.floor(x/2);
|
|
},
|
|
function (x) {
|
|
return x > 0;
|
|
}
|
|
).join('\n')
|
|
);
|