Испытание "Сколько цифр?"


#22

У меня такое решение:

var number = 6567;
var quantity = 0;

while (Math.trunc(number) != 0) {
quantity++;
number /= 10;
}
console.log(quantity);


#23

Попробуй вставить number = 65478.
quantity получится на одну цифру больше.
Это не верное решение.

В этом ключе я решил так:
var number = 6567;
var quantity = 0;

while (Math.trunc(number) != 0) {
quantity++;
number /= 10;
}
console.log(quantity);


#24

var number = 123;
var quantity = 0;
var k=1;
for (var i = 1; number / k >= 1; i++) {
k*=10
quantity ++;
}

Я это сделал! Всё работает идеально))


#25

Мне кажется в данном задании это самое верное решение. Посмотрев другие ответы, которые мне показались слишком огромными, этот вариант явно выигрывает. Но, я, например, не знала о таком варианте.


#26

Ну самое оптимальное решение через .length и приведение в строку, но если этого не знать, то вот:

моё рабочее
if (number != 0) {
  for (var i = 1; Math.abs(number / i) >= 1; i*= 10) {
    quantity++;
    } 
} else {quantity = 1;}
console.log('Количество циферей: ' + quantity);

Добавлены проверки на 0 и отрицательные числа, буду рад если кто дополнит проверкой на целые числа.


#27
var number = 123;
var quantity = 0;

while (number >= 1) {
  number/= 10;
  quantity++;
}

#28

минимализм while (number>10){number/=10; quantity++}