Изучи предложенный алгоритм и определи недостающий анимационный эффект в области анимации».
область анимации
Просмотр
1 Picture 2
2 ELPHRG01.wav
3* Wildlife.wmv
4 Улыбающеес...
для фигуры смайлик настроили анимацию «Пути перемещения»
для рисунка настроили анимацию «Вход»
для видео настроили анимацию «Выход»
Опя Рукового файла настроили анимацию «Выделение»
Тогда в бак 2 надо сложить стекло или жесть.
1) а) Допустим, мы в бак 2 сложили стекло. Это будет 52 + 85 = 137.
Тогда в бак 1 кладем жесть. Это будет 95 + 75 = 170.
Всего 141 + 137 + 170 = 448 перемещений.
1) б) Допустим, мы в бак 2 сложили жесть. Это будет 64 + 75 = 139.
Тогда в бак 1 кладем стекло. Это будет 98 + 85 = 183.
Всего 141 + 139 + 183 = 463 > 448.
2) Допустим, бумагу мы сложили в бак 2. Это опять 83 + 58 = 141.
2) а) Кладем в бак 3 стекло. Это будет 98 + 52 = 150.
Тогда в бак 1 кладем жесть. Это будет 95 + 75 = 170.
Всего 141 + 150 + 170 = 461 > 448.
2) б) Кладем стекло в бак 1. Это будет 98 + 85 = 183.
Тогда в бак 3 кладем жесть. 64 + 95 = 159
Всего 141 + 183 + 159 = 483 > 448.
3) Положим бумагу в бак 1. Это будет 83 + 83 = 166.
3) а) Положим стекло в бак 2. Это будет 52 + 85 = 137.
Тогда жесть пойдет в бак 3. 64 + 95 = 159.
Всего 166 + 137 + 159 = 465 > 448.
3) б) Положим стекло в бак 3. Это будет 52 + 98 = 150.
Тогда жесть пойдет в бак 2. Это будет 64 + 75 = 139.
Всего 166 + 150 + 139 = 455 > 448.
Я рассмотрел все 6 вариантов разложить 3 мусора по 3 бакам.
ответ: минимальное количество перемещений равно 448.
procedure GetProdNeg(a:array of integer; var p:real);
// произведение отрицательных элементов
begin
p:=a.Where(x->x<0).Aggregate(1.0,(p,e)->p*e)
end;
function IsPrime(n:integer):boolean:=
Range(2,Round(sqrt(n))).All(i->n mod i<>0);
procedure ArrPrime(n:integer; var a:array of integer);
// массив простых чисел не больших n
begin
a:=Range(2,n).Where(i->IsPrime(i)).ToArray
end;
begin
var n:=ReadInteger('n=');
var a:=ArrRandom(n,-50,50); a.Println;
var r:real;
GetProdNeg(a,r);
Writeln('Произведение ',r);
n:=ReadInteger('n=');
var b:array of integer;
ArrPrime(n,b);
b.Println
end.
Тестовое решение:
n= 15
27 -7 -36 40 -15 -21 -47 -28 -12 45 3 -38 -15 1 -39
Произведение 27866837980800
n= 300
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 211 223 227 229 233 239 241 251 257 263 269 271 277 281 283 293