Показать сообщение отдельно
  #8 (permalink)  
Старый 07.04.2021, 11:12
Аватар для Alexandroppolus
Профессор
Отправить личное сообщение для Alexandroppolus Посмотреть профиль Найти все сообщения от Alexandroppolus
 
Регистрация: 25.10.2016
Сообщений: 1,012

function number9(n) {
  var count = 0;
  var p10count = 0;
  var p10 = 1;
  var m = n, prev = 0;
  while (m > 0) {
    var dig = m % 10;
    count = count + (dig === 9 ? prev + 1 : 0) + dig * p10count;
    m = Math.floor(m / 10);
    prev = prev + dig * p10;
    p10count = p10count * 10 + p10;
    p10 = p10 * 10;
  }
  return count;
}

alert('1234: ' + number9(1234));
Ответить с цитированием