Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Нужна помощь по javascript (https://javascript.ru/forum/misc/67665-nuzhna-pomoshh-po-javascript.html)

рони 02.03.2017 11:54

Alexandroppolus,
предположим сумма равна 9 тогда
for (var i = 1; i <= 4; ++i) {
  count += 10 + i;
/*
   тут подразумевается такое:
  var N = 9 - i; // оставшаяся сумма без первой цифры
  var start = N - 9; // минимальное значение второй цифры
  var end = 9; // максимальное значение второй цифры
  var delta = end - start + 1; // сколько всего допустимых значений второй цифры
  count += delta; // delta = 9 - (9 - i - 9) + 1 = 10 + i
*/
}
alert(count);// 50

где ошибка?
108,117,126,135,144,153,162,171,180,207,216,225,23 4,243,252,261,270,306,315,324,333,342,351,360,405, 414,423,432,441,450 => 30

Alexandroppolus 02.03.2017 15:58

рони,
почти то же самое

var N = 9;
var count = 0;
for (var i = 1; i <= Math.min(4, N); ++i) {
  count += Math.min(N - i, 9) - Math.max(N - i - 9, 0) + 1;
}
alert(count);

рони 02.03.2017 16:12

Alexandroppolus,
спасибо что ответили, но для меня ваши ответы, как фокусы достать зайца из цилиндра, у вас есть заяц в рукаве, у меня нет, так что я по старинке перебором, просто запомню, может когда нибудь осилю.


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