resultsImperative = {
const initialNumber = startingNumber;
let maxIterations = maxIterationsConfig;
let intermediateNumber = initialNumber;
let results = [];
while (intermediateNumber !== 1 && maxIterations > 0) {
results.push(intermediateNumber);
if (intermediateNumber % 2) {
intermediateNumber = intermediateNumber * 3 + 1;
} else {
intermediateNumber = intermediateNumber / 2;
}
maxIterations--;
}
results.push(1);
return {
results,
conjectureIsValid: maxIterations !== 0
};
}