Открытие дня (Today I Learned)

 

Страницы

Аватар пользователя savely

> и будет минимальное время пошива ... то есть 22 часа и 55 минут.

Неа. Вот тебе альтернативный расклад. Сначала оба шьют брюки. 100/(4+6) = 10 часов. Потом оба пиджаки - 100/(3+5)=12,5 часов. Итого - 22 часа 30 минут.  И я не утверждаю, что это минимальное время. ;)

savely пишет:

> и будет минимальное время пошива ... то есть 22 часа и 55 минут.

Неа. Вот тебе альтернативный расклад. Сначала оба шьют брюки. 100/(4+6) = 10 часов. Потом оба пиджаки - 100/(3+5)=12,5 часов. Итого - 22 часа 30 минут.  И я не утверждаю, что это минимальное время. ;)


crying

Да, надо чтобы они по максимуму шили всё время пока могут. (С)

Вот готовая программа на Java по эффективному распределению трудового ресурса между двумя специалистами разной квалификации. Делал на основе примитивного анализа производительности. Программа в примитивном варианте - оним классом без методов и функций. Да, - результат не округлял. Выкладываю по просьбе моего друга Майка:

package wtrewtre;

         import java.util.Scanner;

public class Student {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

//Программа для расчета работы, выполняемой двумя швейниками
        
        int x = 0;
           int y = 0;
               int z = 0;
                   int c = 0;
             double l = 0;

        
        if (x==0&&y==0&&z==0&&c==0){
            
            @SuppressWarnings("resource")
            Scanner sc = new Scanner (System.in);
            
                                System.out.println("Введите время, за которое мастер шьет куртку");
                        if(sc.hasNextInt()){
                        x = sc.nextInt();
                        }                    
                        else{
                            System.out.println("Вы ввели не то, нажмите любую клавишу");
                                        System.exit(0);
                        }
                        System.out.println("Введите время, за которое мастер шьет брюки");
            if(sc.hasNextInt()){
            y = sc.nextInt();
            }
            else{
                System.out.println("Вы ввели не то, нажмите любую клавишу");
                System.exit(0);
            }
            System.out.println("Введите время, за которое ученик шьет куртку");
                    if(sc.hasNextInt()){
            z = sc.nextInt();
                    }
                    else{
                        System.out.println("Вы ввели не то, нажмите любую клавишу");
                        System.exit(0);
                    }    
            System.out.println("Введите время, за которое ученик шьет брюки");
            
            if(sc.hasNextInt()){
                               c = sc.nextInt();
            }
            else{
                System.out.println("Вы ввели не то, нажмите любую клавишу");
                System.exit(0);
            }
            
            if(x > 0 && y > 0 && z > 0 && c > 0){
                l = (double)(z+c)/(x+y);
                
                double v = (double)100/(l+1);
                double h = 100 - v;
                System.out.println("Ученик должен сшить"+" "+v+" "+"костюмов");
                System.out.println("Учитель должен сшить"+" "+h+" "+"костюмов");
            }
            
        }
        
                    }
                                                  
                }

+1

 l = (double)(z+c)/(x+y);
                
                double v = (double)100/(l+1);
                double h = 100 - v;

Мастер шьёт  один пиджак 3 часа, а одни брюки - 4 часа. Ученик: 5 и 6 часов соответственно. Распредели работу,


x=4  y = 3

z= 6 c= 5

 l = (double)(z+c)/(x+y);  -> (6+5)/(4+3) = 11/7

Ученик: double v = (double)100/(l+1); -> 100/(11/7+1) = 100/(18/7) = 700/18 = 38 16/18 костюма.

Мастер: 100 - 38 16/18 = 61 2/18

savely :

Неа. Вот тебе альтернативный расклад. Сначала оба шьют брюки. 100/(4+6) = 10 часов. Потом оба пиджаки - 100/(3+5)=12,5 часов. Итого - 22 часа 30 минут.  И я не утверждаю, что это минимальное время. ;)

Ученик: 40 брюк и 37,5 пиджаков

Мастер: 60 брюк  и 62,5 пиджаков

---------

Хм. ???????????????????

Аватар пользователя mike

Повторю условие задачи. Чтобы сшить пиджак мастеру надо 3 часа. Ровно три! Чтобы сшить брюки -- мастеру надо 4 часа. Ровно. Ученику 5 часов на пиджак и 6 на брюки. Распределите работу.

+1

mike пишет:

Повторю условие задачи. Чтобы сшить пиджак мастеру надо 3 часа. Ровно три! Чтобы сшить брюки -- мастеру надо 4 часа. Ровно. Ученику 5 часов на пиджак и 6 на брюки. Распределите работу.


Прога от Petro42 считает кол-во костюмов (мастера и ученика)

savely  посчитал количество брюк (мастера и ученика) и количество пиджаков (мастера и ученика).

Ученик: 40 брюк и 37,5 пиджаков  как соотносится с 38 16/18 костюма?

Мастер: 60 брюк  и 62,5 пиджаков как соотносится с 61 2/18 костюма?

????

 

Аватар пользователя mike

Распределите работу для 100 костюмов так, чтобы эти 100 костюмов были сшиты за минимальное время.

mike пишет:

Распредилите работу для 100 костюмов так, чтобы эти 100 костюмов были сшиты за минимальное время.


Прога от Петра не выводит время вообще. Почему? Чему оно у него равно?

Аватар пользователя mike

Подсказка: мастер и ученик должны затратить одинаковое время. Потому что если кто-то кончил, а другой ещё пашет, то работа распределена не оптимально.

Пусть мастер сошьёт x пиджаков и y штанов. Тогда он затратит время 3x + 4y. Ученик сошьёт 100-x и 100-y единиц и затратит время 5(100-x) + 6(100-y). Приравняем времена, приведём подобные и получим диофантово уранение:

4x+5y=550 или

x-x/5+y=110;

Очевидно, что x делится на 5, т.к. все числа целые. Дальше подсказывать не буду. Думайте! Исходите из того, что y<=100. laugh

Logicby twitter.com logicby пишет:

Прога от Петра не выводит время вообще. Почему? Чему оно у него равно?

Время считать не надо. Нам нужен коэффициент, отражающий разницу в производительности.

Ученик: 40 брюк и 37,5 пиджаков  как соотносится с 38 16/18 костюма?

Мастер: 60 брюк  и 62,5 пиджаков как соотносится с 61 2/18 костюма?

????

Результат округляем и согласно вашим данным получаем 61 костюм от учителя и 39 - от ученика. 

Вот если швей будет 10-12 - тогда проблема.

Ну и да: решение Михаила гораздо круче. Оно из вышки, а мое - из школьной алгебры.

Все одно: пейсаки не поймут.

Аватар пользователя mike

Из вышки.

Какое, прости, нафиг из вышки?! Диофант жил в третьем веке, время вышки наступит тысячелетием с гаком позже, когда такие глыбы, как Ньютон и Лейбниц, создадут исчисление бесконечно малых.smiley

Твоё решение неверно, так как количество пиджаков, сшитых мастером, должно делиться на 5.cheeky

Однако, ты не совсем не прав. yes Отчасти из вышки. Задача относится к дисциплине "исследование операций", которая появилась значительно позже исчисления бесконечно малых, а появилась она из-за промеволюции, итог которой -- потогонная система. Потом исследование операций вылилось в линейное программирование (не путать с линейным кодом!). Об этом "Вести" ни разу не писали. Тиснул бы статейку, да был послан в "цифровое гетто".crying  

Ладно, недоброжелатели, минусуйте. laugh

+1

Твоё решение неверно, так как количество пиджаков, сшитых мастером, должно делиться на 5.

Возможно. Я-то количество пиджаков отдельно не считал. А количество костюмов на 5 делиться и не должно.

 

+1
Аватар пользователя mike

surpriseКак это не должно?! Из же 100.

+1
Аватар пользователя mike

ОК, подсказываю дальше.

Если x*4/5 + y =110, но y<=100, то x*4/5  >= 10 при условии, что x делится на 5. Или 4x >= 50. Следовательно, x = (15 или 20). 20 отбрасываем, так как 436 часов больше, чем 413.

Ответ: 15 и 85 мастер, остальное -- ученик.

Отрадно, что завсегдатаи пробовали решить задачку.

Видишь, Логик, а Питон-то и не брался. laugh

Аватар пользователя mike

Не, я перепутамши: 15 и 98 мастер, 85 и 2 ученик. smiley Т.к. y = 110-(4/5)x.

Злой админ слишком мало даёт времени поправить.

Та задачка, Петро, что ты мне диктовал на мове, решается точно так же.

Аватар пользователя savely

> так как 436 часов больше, чем 413.

Какие-то бешеные часы. Ты какое условие решал-то? ;)

Аватар пользователя Piton

mike пишет:

Видишь, Логик, а Питон-то и не брался. laugh

Я вам что-то должен?

И вообще, вы бы опубликовали вашу финальную цифру в виде "у меня получилось Х часов". А то ведь может выйти так, что кто-то найдет более оптимальный вариант, а вы потом сделаете вид, что у вас было столько же - и хрен проверишь.

Аватар пользователя mike

А то ведь может выйти так...

А может и не выйти.laugh

Ты какое условие решал-то? ;)

Блииннъ...  Мастер шьёт 3 часа пиджак или 4 часа брюки, ученик -- 5 часов пиджак или 6 часов брюки. Уравнение: 3x + 4y =  5(100-x) + 6(100-y);

 

Аватар пользователя mike

вы бы опубликовали вашу финальную цифру

См. выше. Условие: не часы вычислить, а распределить работу. Часы вычисляйте сами, подствляйте, проверяйте. Сличайте, сличайте! (С)laugh

Аватар пользователя mike

Я вам что-то должен?

Ага. Ответить.laugh

Аватар пользователя Piton

mike пишет:

Я вам что-то должен?

Ага. Ответить.laugh

Не льстите себе.

Аватар пользователя mike

А всё же ответили.laugh

-1
Аватар пользователя mike

Умер Збигнев Казимеж Бжезинский (у поляков нет отчества, но есть множественные имена). В тутбае одни плевки в его адрес. А ведь неглупый чел был: оракул технотронной эры, и радовался, как ребёнок, узнав, что в СССР прекратили разработки собственных ЭВМ и начали их копирайтить (зачёркнуто) передирать. Кто-кто, а уж он-то знал, чем это обернётся при командной экономике.

Аватар пользователя savely

> Кто-кто, а уж он-то знал

Почему? 

Аватар пользователя mike

Ты прямо, как Коше Рамбаль из фильма "Игрушка": "Почему?"

Однако, отвечу: потому что он -- апологет технического опережения и ограничения доступа "советов" к сорцам. Именно его стараниями Америке удалось втянуть СССР в "советский Вьетнам", то бишь Афганистан. Именно его стараниями моджахеды получали стингеры и херачили вертушки, как куриц из рогатки.

mike пишет:

surpriseКак это не должно?! Из же 100.

Ну и что? Как это связано с комплектами в целом?... У меня получилось 856 часов на двоих, это больше. чем у тебя, а все потому, что я заставил их шить комплектами. Так медленнее.

Аватар пользователя savely

> Однако, отвечу

Ответил. Незвестно на какой вопрос. Вопрос - почему именно "кто-то, а уж он-то знал, чем обернется при командной экономике". Почему "кто-то, а уж он-то"? 

IMHO, "потому что он - апологет технического опережения и ограничения доступа "советов" к сорцам" не отвечает на этот вопрос. 

Аватар пользователя mike

2Savely. Ладно, это моё имхо. Но почитать Бжезинского стОит.

У меня получилось ... больше, чем у тебя,  а все потому, что я заставил их шить комплектами.

А если заставить их шить с перерывами на бухло, то вышло бы ещё больше.laugh

 

Petro42 пишет:

Logicby twitter.com logicby пишет:

Время считать не надо. Нам нужен коэффициент, отражающий разницу в производительности.

Ученик: 40 брюк и 37,5 пиджаков  как соотносится с 38 16/18 костюма?

Мастер: 60 брюк  и 62,5 пиджаков как соотносится с 61 2/18 костюма?

????

Результат округляем и согласно вашим данным получаем 61 костюм от учителя и 39 - от ученика. 

Нет - нужно время, не коэффициенты и округление. Время с точностью до минуты. Чему у вас оно равно? -  Тут счёт то на минуты пока идёт то. (С)

mike пишет:

Из вышки.

Какое, прости, нафиг из вышки?! Диофант жил в третьем веке, время вышки наступит тысячелетием с гаком позже, когда такие глыбы, как Ньютон и Лейбниц, создадут исчисление бесконечно малых.smiley

Твоё решение неверно, так как количество пиджаков, сшитых мастером, должно делиться на 5.cheeky

Вот И он не хочет время выводить - придумал коэффициенты какие то.

Петро - время давай. - С точностью до минуты пока. Потом до секунд доймём - иначе это всё туфта.

Страницы