Задать вопрос
@DarCKoder

Поможете решить задачку на javascript?

Решаю задачи по js и код почему то не находит подходящее число!

Вопрос:

2520 - самое маленькое число, которое делится без остатка на все числа от 1 до 10.

Какое самое маленькое число делится нацело на все числа от 1 до 20?

Мой js код:
var arrayForF = [];

		for(var i = 1; i < 10000000 ;i++){
			var f1 = i / 1;
			var f2 = i / 2;
			var f3 = i / 3;
			var f4 = i / 4;
			var f5 = i / 5;
			var f6 = i / 6;
			var f7 = i / 7;
			var f8 = i / 8;
			var f9 = i / 9;
			var f10 = i / 10;
			var f11 = i / 11;
			var f12 = i / 12;
			var f13 = i / 13;
			var f14 = i / 14;
			var f15 = i / 15;
			var f16 = i / 16;
			var f17 = i / 17;
			var f18 = i / 18;
			var f19 = i / 19;
			var f20 = i / 20;
			
			if(f1%1 && f2%1 && f3%1 && f4%1 && f5%1 && f6%1 && f7%1 && f8%1 && f9%1 && f10%1 && f11%1 && f12%1 && f13%1 && f14%1 && f15%1 && f16%1 && f17%1 && f18%1 && f19%1 && f20%1 ){
				arrayForF.push(i);
			}
		}
				document.write(arrayForF);


В чём же моя ошибка?? Или число больше 10 000 000??
  • Вопрос задан
  • 4195 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 1
Lynn
@Lynn
nginx, js, css
У вас задача найти наименьшее общее кратное 20 чисел. Ну так и нужно его искать, а не заниматься бессмысленным перебором.

Вот, например, самое простое решение в лоб: jsfiddle.net/moq36zrg/3
Хотя в википедии есть и другие алгоритмы https://en.wikipedia.org/wiki/Least_common_multipl...
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
@dmitryKovalskiy
программист средней руки
Чисто алгоритмически у вас тут сотни и тысячи лишних операций. Если уж начали реализовывать ТАК, то делите только на 11,13,14,16,17,18,19 и 20.
Ответ написан
AnnTHony
@AnnTHony
Интроверт
Алексей Тен Наверное все-таки НОК (наименьшее общее кратное) надо находить, а не НОД.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы