Обозначим Б - число быков, К - число коров, Т - число телят. Тогда можно записать, что Б+К+Т=100 (1) 10Б+5К+0.5Т=100 (2) Из (2) найдем ограничения на количества Б, К, и Т. Б ∈ [0;10], К ∈ [0;20]. Из (1) находим, что Т=100-Б-К, Т - четное (иначе сумма не будет целой). Эти ограничения позволят правильно построить циклы в программе.
PascalABC.NET 3.3.5, сборка 1662 от 29.04.2018 Внимание! Если программа не работает, обновите версию!
begin for var Б:=0 to 10 do for var K:=0 to 20 do begin var T:=100-Б-K; // из уравнения (1) if T.IsEven and (10*Б+5*K+T div 2=100) then Writeln(Б,'Б, ',K,'K, ',T,'T') end end.
Тогда можно записать, что
Б+К+Т=100 (1)
10Б+5К+0.5Т=100 (2)
Из (2) найдем ограничения на количества Б, К, и Т.
Б ∈ [0;10], К ∈ [0;20].
Из (1) находим, что Т=100-Б-К, Т - четное (иначе сумма не будет целой).
Эти ограничения позволят правильно построить циклы в программе.
PascalABC.NET 3.3.5, сборка 1662 от 29.04.2018
Внимание! Если программа не работает, обновите версию!
begin
for var Б:=0 to 10 do
for var K:=0 to 20 do begin
var T:=100-Б-K; // из уравнения (1)
if T.IsEven and (10*Б+5*K+T div 2=100) then
Writeln(Б,'Б, ',K,'K, ',T,'T')
end
end.
Результат
1Б, 9K, 90T
1) program Array16;
var
i:integer; // счетчик в цикле
N:integer;
a: array [1..10] of integer;
begin
writeln('Введите N (N<10)');
readln(N); // ввод размера массива
for i:=1 to N do
begin
write('a[',i,']=');
readln(A[i]); // ручной ввод значений массива
end;
writeln('Результат');
for i:=1 to N do
begin
// вычисление и вывод элементов в указанном порядке
write(' ',a[(i div 2+1)*((i) mod 2)+ n*((i+1)mod 2)-((i div 2)-1)*((i+1) mod 2)]);
end;
end.
2) Var A:array[1..100] of integer;
i,n:byte;
Begin
write('Введите n<=100: ');readln(n);
For i:=1 to n do
Begin
A[i]:=random(31);
write(A[i]:3);
End;
writeln;
For i:=1 to n div 2 do
write(A[i]:3,A[n-i+1]:3);
if n mod 2 <>0 then write(A[n div 2+1]:3);
End.