Визначення оптимального асортименту, що максимізує прибуток Вихідні дані: меблева фабрика виготовляє столи, стільці, бюро й книжкові шафи, використовуючи два різних види дощок, причому фабрика має 500 м3. дощок першого виду і 1000 м3 дощок другого. Крім того, задані трудові ресурси в кількості 800 людино-год. В таблиці наведено норми витрат кожного виду ресурсів на виготовлення одиниці виробу і прибуток від реалізації одиниці виду продукції.
Потрібно: визначити оптимальний асортимент випуску продукції, що максимізує прибуток.
Ресурси Витрати на одиницю продукції Запаси
Столи Стільці Бюро Книжкові шафи
Дошки першого виду, м3 5 1 9 12 500
Дошки другого виду, м3 2 3 4 1 1000
Трудові ресурси, людино-год. 3 2 5 10 800
Прибуток на один виріб (тис. грн.) 12 5 15 10
Смотрим на входные данные, исходное слово "апельсин", а зашифрованное "твчюодыа".
Вспоминаем принцип шифра "Цезаря", что бы зашифровать текст, необходимо определить сдвиг по алфавиту, так называемый "корень". То есть, если корень равен 3, то все буквы А в исходном послании заменятся на (сдвигаемся по алфавиту на 3 буквы вправо) букву Г. Но что делать если мы шифруем букву Ю? Считаем сдвиг Ю - Я это 1, а дальше просто "прыгаем" в начало алфавита Я - А это 2, А - Б это 3, следовательно при ключе 3 буква Ю станет буквой Б.
В нашем случаи все что нужно, так это проверить, на сколько букв сместилась буква "а", в слове "апельсин", что превратилась в букву "т", в слове "твчюодыа".
Смотрим по даному алфавиту и считаем количество сдвигов, это будет 19. Теперь провевим, что если сдвинуть остальные буквы в слове апельсин на 19 символов вправо по алфавиту, если они будут соответствовать зашифрованым, то мы нашли корень правильно.
В нашем случаи именно так и есть, то есть ответ задачи ключь = 19.
var o,c,k,n,i,j,a,s:longint;l:array[1..1000]of longint;beginwriteln('введите количство чисел в спискe');readln(n);writeln('введите числа из списка по одному');for i:=1 to n doreadln(l[i]);writeln;writeln('введите число которое нужно вставлять');readln(o);writeln('введите число после которого нужно вставить ' ,o,' в список');readln(k);s:=n;for i:=n downto 1 do if l[i]=k then begins:=s+1;for j:=s downto i+1 dol[j]:=l[j-1];l[i+1]:=o;end;for i:=1 to s do write(l[i],' ');
end.
№2
var c,k,n,i,j,a:longint;l:array[1..1000]of longint;beginwriteln('введите количство чисел в спискe');readln(n);writeln('введите числа из списка по одному');for i:=1 to n doreadln(l[i]);writeln;writeln('введите номер числа которое нужно удалить из списка');readln(k);for i:=k to n do l[i]:=l[i+1];n:=n-1;for i:=1 to n do write(l[i],' ');end.