Решили бабушке собрать урожай яблок. они собрали 90 кг яблок. у них было 15 ящиков: 3 ящика вместимостью 10 кг, 5 ящиков по 7 кг и 7 ящиков по 5 кг. какое минимальное количество ящиков им понадобится? 13 15 12 14
Возьмем ящики с наибольшей вместимостью и сложим их: 3 * 10 = 30 кг После чего, возьмем ящики вместимостью по 7 килограмм и снова же сложим их сумму: 5*7 = 35 кг Сложим сумму и колличество ящиков с наибольшей и средней вместимостью: Сумма = 30+35= 65 кг Колл-во = 3+7 = 10 ящ Теперь в последний раз сложим сумму предыдущих вычислений с суммой и колл-вом ящиков с наименьшей вместимостью, но так, чтобы сумма не превышала 90 кг. Т.е нам нужно складывать по 1 ящику до того момента, пока их сумма не будет равна 90кг: Максимальное колл-во используемых нами ящиков, не должно превышать 7. 65+5=70 кг - 11ящ; 70+5=75кг - 12 ящ; 75+5 =80кг - 13 ящ; 80+5 = 85кг - 14 ящ; 85+5 = 90кг - 15 ящ; Как видим, мы уложились в 15 ящиков, это и будет являться ответом.
randomize; for I : byte := 1 to N do begin a[i] := random(1, 5); write(a[i],' '); end;
for I : byte := 2 to N do if a[1] = a[i] then writeln(i);
end.
Задание #2.
const K = 2; N = 10;
var a : array[1..N] of integer;
begin
for I : byte := 1 to N do begin readln(a[i]); if a[i] mod k = 0 then write(a[i],' '); end;
end.
Задание #3.
const Z = 2; N = 10;
var a : array[1..N] of integer; count : word;
begin
count := 0;
for I : byte := 1 to N do begin readln(a[i]); if a[i] > Z then begin a[i] := Z; Inc(count); end; end;
for I : byte := 1 to N do write(a[i],' ');
writeln;
writeln(count);
end.
Стоит на на всякий случай пояснить, что N, K, Z - константы, их можно легко поменять, так гораздо удобнее работать с программой, если нужно что-то поменять. Процедура Inc( ) - прибавляет единицу, это короче чем писать Count := Count + 1; В первом задание в цикле, который ищет значение элементов массива, которые равны первому элементу массива, я начал со второго элемента. потому что очевидно, что первый элемент будет равен самому себе. Надеюсь, вам написанные мной программы, она не сложные, вам стоит внимательно их просмотреть и, вы сможете без труда их понять самостоятельно, если пожелаете, разумеется.
Возьмем ящики с наибольшей вместимостью и сложим их:
3 * 10 = 30 кг
После чего, возьмем ящики вместимостью по 7 килограмм и снова же сложим их сумму:
5*7 = 35 кг
Сложим сумму и колличество ящиков с наибольшей и средней вместимостью:
Сумма = 30+35= 65 кг
Колл-во = 3+7 = 10 ящ
Теперь в последний раз сложим сумму предыдущих вычислений с суммой и колл-вом ящиков с наименьшей вместимостью, но так, чтобы сумма не превышала 90 кг. Т.е нам нужно складывать по 1 ящику до того момента, пока их сумма не будет равна 90кг:
Максимальное колл-во используемых нами ящиков, не должно превышать 7.
65+5=70 кг - 11ящ;
70+5=75кг - 12 ящ;
75+5 =80кг - 13 ящ;
80+5 = 85кг - 14 ящ;
85+5 = 90кг - 15 ящ;
Как видим, мы уложились в 15 ящиков, это и будет являться ответом.