Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Дано натуральное число n. Найти количество его делителей, что кратные 3. (https://javascript.ru/forum/misc/71394-dano-naturalnoe-chislo-n-najjti-kolichestvo-ego-delitelejj-chto-kratnye-3-a.html)

Ирина99 15.11.2017 13:54

Дано натуральное число n. Найти количество его делителей, что кратные 3.
 
Дано натуральное число n. Найти количество его делителей, что кратные 3.

Помогите пожалуйста...

Nexus 15.11.2017 14:06

var number=1369,
result=number.toString().split('').filter(function (n){
return n%3==0;
}).join(', ');

alert(result);

Прошу прощения за затуп.

Dilettante_Pro 15.11.2017 14:13

var n=255, divisor = [], i = 3;
while(i < n) {
    if(n % i == 0) divisor.push(i);
    i = i + 3;
}
alert(divisor);

Dilettante_Pro 15.11.2017 14:17

Nexus,
:victory: ! 12 на 3 не делится!

рони 15.11.2017 14:25

Nexus,
Dilettante_Pro,
:-?

Nexus 15.11.2017 14:31

Dilettante_Pro, я слово "делители" не так прочитал :(

рони 15.11.2017 14:37

Dilettante_Pro,
может лишнее исключить из проверки?

Dilettante_Pro 15.11.2017 14:43

рони,
Цитата:

Сообщение от рони
может лишнее исключить из проверки?

Поскольку ТС не представил никаких своих попыток, я сделал самый примитивный перебор

рони 15.11.2017 14:50

Dilettante_Pro,
ок ... на всякий случай, проверять i > n/3 нет смысла.

ksa 15.11.2017 14:59

Предложу такой вариант... :D

var n=255;
var divisor = [];
if (n % 3 == 0) {
	divisor.push(3);
	n=Math.round(n/3);
	var max=n/2;
	for (var i=2; i<=max; i++) {
		if (n % i == 0) {
			divisor.push(3*i);
		};
	};
	divisor.push(3*n);
};
alert(divisor);


Часовой пояс GMT +3, время: 14:36.