Показать сообщение отдельно
  #6 (permalink)  
Старый 05.02.2013, 14:50
Аватар для Isaac
Кандидат Javascript-наук
Отправить личное сообщение для Isaac Посмотреть профиль Найти все сообщения от Isaac
 
Регистрация: 03.08.2011
Сообщений: 106

Сообщение от danik.js Посмотреть сообщение
Object.defineProperty(Object.prototype, 'toString', {
    value: function () {
		var result = [];
		for (var property in this) {
			result.push( property + ' : ' + this[property] );
		}
		return result.join(',');
	},
	enumerable: false
});

function find (needle) {
    var x = [1,2,3,4,5];
    var y = [1,5,10,25,50,100];
    
    var last = {x: -1, y: -1, value: -1}, temp;
    for (var i=0; i<x.length; i++) {
        for (var j=0; j<y.length; j++) {
            temp = x[i] * y[j];
            if (temp == needle) {
                return {x: x[i], y: y[j], value: needle};
            }
            if (temp < needle && temp > last.value) {
                last = {x: x[i], y: y[j], value: temp};
            }
        }
    }
    return last;
}

alert ( find(450) );
alert ( find(250) );


toString перекрыл только для отладки, не стоит так делать в рабочем проекте.
Все супер, только если например у нас есть цифра 10, то у нас получается 2 варианта ответов: 5 и 2; 10 и 1. Выборка должна выбрать тот вариант, где цифра по синий линии больше, подскажите пожалуйста, как добавить эту проверку в ваш код?
Ответить с цитированием