Показать сообщение отдельно
Старый 11.07.2010, 00:48
Elff вне форума Посмотреть профиль Отправить личное сообщение для Elff Найти все сообщения от Elff
  № 8  
Ответить с цитированием
Elff

Регистрация: Nov 2009
Адрес: 59°57′ с. ш. 30°19′ в. д.
Сообщений: 17
Цитата:
Сообщение от iNils Посмотреть сообщение
Как-то все равно не понятно. Скажем нужна длина 750, можно взять трубу 250 * 3, а можно 125 * 6.
Ну да, все верно, начинаем перебор с расчетом отдать меньше труб, попадается вариант 250*3, отдаем его и заканчиваем
Код AS3:
var min:int = 100; // длины от min
var max:int = 400; // до max
var my_length:int = 2500; // нужен метраж 25 м
 
var Ar:Array = [065,099,102,110,120,125,127,131,133,139,140,141,142,143,143,144,160,177,199,200,250,256,277,300,321,349,351,380,385,387,390,405,409,430,450,450,501,505,510];
var cut_Ar:Array = [];
for (var i:int = 0; i<Ar.length; i++) {
	if (Ar[i]>=min && Ar[i]<=max) {
		cut_Ar.push(Ar[i]);
	}
	if (Ar[i]>max) {
		break;
	}
}
var min_cutAr:int = cut_Ar[0];
var max_cutAr:int = cut_Ar[cut_Ar.length-1];
trace(Math.ceil(my_length/max_cutAr)+" - минимальное количество труб");
trace(Math.floor(my_length/min_cutAr)+" - максимальное количество труб");
С количеством труб это для оптимизации - чтобы не перебирать ненужные варианты. В этом примере количество может быть от 7 до 24, нет смысла перебирать варианты с 1 до 6 труб и больше 24
Цитата:
Сообщение от -De- Посмотреть сообщение
Только я думаю хотят не переборное решение, если это не реальные трубы %) Целые ли длины труб? Какая вообще точная формулировка? %)
Трубы реальные и цельные, ну в смысле сейчас они теоретические, но потом будут настоящие, то что в массиве - это неделимый кусок трубы


Последний раз редактировалось Elff; 11.07.2010 в 00:53.