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  | 
	
		
 рони, 
	почти то же самое 
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);
 | 
	
		
 Alexandroppolus, 
	спасибо что ответили, но для меня ваши ответы, как фокусы достать зайца из цилиндра, у вас есть заяц в рукаве, у меня нет, так что я по старинке перебором, просто запомню, может когда нибудь осилю.  | 
| Часовой пояс GMT +3, время: 03:34. |