|
|

15.11.2017, 13:54
|
|
Новичок на форуме
|
|
Регистрация: 15.11.2017
Сообщений: 2
|
|
|
Дано натуральное число n. Найти количество его делителей, что кратные 3.
Дано натуральное число n. Найти количество его делителей, что кратные 3.
Помогите пожалуйста...
|
|

15.11.2017, 14:06
|
|
Профессор
|
|
Регистрация: 04.12.2012
Сообщений: 3,842
|
|
|
var number=1369,
result=number.toString().split('').filter(function (n){
return n%3==0;
}).join(', ');
alert(result);
Прошу прощения за затуп.
Последний раз редактировалось Nexus, 15.11.2017 в 14:32.
|
|

15.11.2017, 14:13
|
|
Профессор
|
|
Регистрация: 27.11.2015
Сообщений: 2,899
|
|
var n=255, divisor = [], i = 3;
while(i < n) {
if(n % i == 0) divisor.push(i);
i = i + 3;
}
alert(divisor);
|
|

15.11.2017, 14:17
|
|
Профессор
|
|
Регистрация: 27.11.2015
Сообщений: 2,899
|
|
Nexus,
 ! 12 на 3 не делится!
|
|

15.11.2017, 14:25
|
 |
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,155
|
|
Nexus,
Dilettante_Pro,

|
|

15.11.2017, 14:31
|
|
Профессор
|
|
Регистрация: 04.12.2012
Сообщений: 3,842
|
|
Dilettante_Pro, я слово "делители" не так прочитал 
|
|

15.11.2017, 14:37
|
 |
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,155
|
|
|
Dilettante_Pro,
может лишнее исключить из проверки?
|
|

15.11.2017, 14:43
|
|
Профессор
|
|
Регистрация: 27.11.2015
Сообщений: 2,899
|
|
рони,
|
Сообщение от рони
|
|
может лишнее исключить из проверки?
|
Поскольку ТС не представил никаких своих попыток, я сделал самый примитивный перебор
|
|

15.11.2017, 14:50
|
 |
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,155
|
|
|
Dilettante_Pro,
ок ... на всякий случай, проверять i > n/3 нет смысла.
|
|

15.11.2017, 14:59
|
 |
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,304
|
|
Предложу такой вариант...
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);
|
|
|
|