Применение return в циклах в JavaScript

To, что return расположен внутри цикла, не всегда может быть ошибкой. В следующем примере сделана функция, которая определяет, сколько первых элементов массива нужно сложить, чтобы сумма стала больше или равна 10:

javascriptfunction func(arr) {
  let sum = 0;
  
  for (let i = 0; i < arr.length; i++) {
    sum += arr[i];
    
    // Если сумма больше или равна 10:
    if (sum >= 10) {
      return i + 1; // выходим из цикла и из функции
    }
  }
}

let res = func([1, 2, 3, 4, 5]);
console.log(res);

А в следующем примере сделана функция, которая вычисляет, сколько целых чисел, начиная с 1, нужно сложить, чтобы результат был больше 100:

javascriptfunction func() {
  let sum = 0;
  let i = 1;
  
  while (true) { // бесконечный цикл
    sum += i;
    
    if (sum >= 100) {
      return i; // цикл крутится пока не выйдет тут
    }
    
    i++;
  }
}

console.log( func() );
Задание 1

Напишите функцию, которая параметром будет принимать число и делить его на 2 столько раз, пока результат не станет меньше 10. Пусть функция возвращает количество итераций, которое потребовалось для достижения результата.