Дано натуральное число п. Определить количество различных цифр в нем
Дано натуральное число п. Определить количество различных цифр в нем Направьте меня на верный путь ) P.s строки использовать нельзя
let num = 4564765;
mas = [];
while (num) {
mas.push(num % 10);
num = Math.floor(num/10);
}
console.log(mas.reverse().join(','));
let count = 1;
for (let i = 0; i < mas.length-1; i++) {
if(mas[0]==mas[i]) {
i++;
}
else{
count++;
}
}
console.log(count);
Ответы (2 шт):
Автор решения: vsemozhebuty
→ Ссылка
Можно, например, схитрить. Превращаем число в строку. Строка поддерживает итерацию, поэтому её легко превратить в Set из уникальных цифр. Останется только получить размер этого Set.
console.log(new Set(String(4564765)).size);
Если строки нельзя, тогда так:
let num = 4564765;
const set = new Set();
while (num) {
set.add(num % 10);
num = Math.floor(num / 10);
}
console.log(set.size);
Автор решения: Qwertiy
→ Ссылка
function countDifferentDigits(x) {
var c = Array(10).fill(0)
do c[x%10] = 1; while (x = x / 10 | 0)
return c.reduce((r, x) => r + x)
}
console.log(countDifferentDigits(4564765))
console.log(countDifferentDigits(0))
console.log(countDifferentDigits(1))
console.log(countDifferentDigits(10))
console.log(countDifferentDigits(11))
console.log(countDifferentDigits(987987996))