JavaScript массивы

92
04 апреля 2022, 17:50

Помогите реолизовать функцию getDivisors, которая параметром будет принимать число и возвращать массив его делителей, то есть чисел, на которое делится наше число. К примеру, если мы передадим число 24 - мы должны получить массив [1, 2, 3, 4, 6, 12, 24].

function getDivisors(digit) { 
  var sum1 = 0; 
  for (elem of digit) { 
    sum1 = sum1 + elem; 
  } 
  return sum1; 
} 
alert(getDivisors(26));

Answer 1

    var digit = '123'; // Ваше число 
    function getDivisors(digit) { 
        let array = [1]; 
        for (let i = 2, limit = digit >> 1; i <= limit; ++i) { 
            if (!(digit % i)) array.push(i); 
        } 
        if (digit !== 1) 
            array.push(digit); 
        return array; 
    } 
 
    console.log(getDivisors(digit));

Answer 2

Вот как по мне более интересный и простой вариант =)))

function getDivisors(digit) { 
	var denominators = []; 
	var interimDenominators = 1; 
	do { 
		if(digit % interimDenominators == 0) { 
			denominators.push(interimDenominators); 
		} 
		interimDenominators++; 
	} while (interimDenominators <= digit / 2); 
	denominators.push(digit); 
	return denominators; 
} 
 
console.log(getDivisors(24)); 
console.log(getDivisors(123)); 
console.log(getDivisors(33));

READ ALSO
Защита от скачивания файлов, если включен AdBlock

Защита от скачивания файлов, если включен AdBlock

Как реализовать подобную защиту от скачивания файлов на своем сайте (только для кнопки загрузки, остальное пусть пользователь читает стрхоть...

141
Почему не работает событие play()?

Почему не работает событие play()?

Написал такой скрипт

152
Как получить файлы из папки с помошью google api v.3?

Как получить файлы из папки с помошью google api v.3?

Как получить список фалов в папке с помошью Drive API v3 ?

148
Задача с конкатенацией строк

Задача с конкатенацией строк

Функция получает массив из целих чисел нужно последующие числа объединить через символ - и в конце вернуть строкуЯ почти решил задачу но есть...

79