Пусть b - количество быков, k - количество коров, t - количество телят. Тогда можно составить систему уравнений
Два уравнения, три неизвестных. Придется решать перебором вариантов. Но прямой перебор - это неинтересно. Попробуем оптимизировать. На 100 рублей можно купить максимум 100/10=10 быков, или 100/5=20 коров, или 100/0.5=200 телят. Без телят не обойтись, даже 18 коров и бык - это 19 голов, а нужно 100. Подбирать нужное количество из 200 хуже, чем из 20 или 10, поэтому сделаем замену, чтобы избавиться от t. Из второго уравнения следует, что t=100-b-k. (1) Подставим значение t в первое уравнение: 10b+5k+0.5(100-b-k)=100; 10b+5k+50-0.5b-0.5k=100; 9.5b+4.5k=50; 19b+9k=100 ⇒ k=(100-19b)/9 (2) Укрупненный алгоритм: Перебираем b от 0 до 9 (10 нельзя, истратим все 100 рублей, а телят покупать надо!). Для каждого b находим k по формуле (2). Если оно целочисленное, находим t по формуле (1). Решение найдено. Иначе перебор продолжается.
var b,k,t:integer; v:real;
begin for b:=0 to 9 do if (100-19*b) mod 9=0 then begin k:=(100-19*b) div 9; t:=100-b-k; Writeln('Быков ',b,', коров ',k,', телят ',t); break end; end.
var a:array [1..20] of integer; i:integer; begin randomize; for i:=1 to 20 do begin a[i]:=random(19-(-10)+1)+-10; write (a[i],' '); end; end.
Задача №2
var a:array [1..20] of integer; i:integer; begin writeln('Введите числа в интервале [-20;29]'); for i:=1 to 10 do read(a[i]); for i:=1 to 10 do if (a[i]>-29) and (a[i]<20) then write(a[i],' '); end.
Задача №3
var a:array [1..20] of integer; i,sum:integer; begin randomize; sum:=0; for i:=1 to 20 do begin a[i]:=random(19-(-10)+1)+-10; write (a[i],' '); if a[i]>0 then sum:=sum+1; end; writeln('Количество положительных элементов массива = ', sum); end.
Задача №4
var a:array [1..20] of integer; i:integer; begin randomize; for i:=1 to 20 do begin a[i]:=random(19-(-10)+1)+-10; if a[i]<0 then a[i]:=0; write (a[i],' '); end; end.
Задача №5
var a:array [1..20] of integer; i,sum:integer; begin randomize; sum:=0; for i:=1 to 20 do begin a[i]:=random(19-(-10)+1)+-10; write (a[i],' '); if a[i]>0 then sum:=sum+a[i]; end; writeln('Сумма положительных элементов массива = ', sum); end.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку