<u>// PascalABC.NET 3.3, сборка 1634 от 14.02.2018</u>
<u>// Внимание! Если программа не работает, обновите версию!</u>
begin
var n:=ReadInteger('Количество судей:');
Assert(n.InRange(3,5),'Неверное количество судей, разрешено 3,4 или 5');
var a:=ReadArrReal('Введите оценки:',n);
if n>3 then Writeln('Балл ',a.OrderBy(t->t).ToArray[1:n-1].Average:0:4)
else begin
var m:=a.Average;
var b:=a.Select(t->(t,Abs(t-m))).OrderByDescending(t->t[1]).ToArray;
if Abs(b[0][1]-b[1][1])<1e-5 then Writeln('Балл ',m:0:4)
else Writeln('Балл ',b.Skip(1).Select(t->t[0]).Average:0:4)
end
end.
<u>2. А в школах часто все еще учат писать так:</u>
var
a,d:array[1..5] of real;
n,i,imax,imin,j:integer;
s,avg:real;
begin
Write('Количество судей: '); Read(n);
if (n<3) or (n>5) then
Writeln('Неверное количество судей, разрешено 3,4 или 5')
else begin
Write('Введите оценки: ');
for i:=1 to n do Read(a[i]);
if n>3 then begin
imax:=1; imin:=1;
for i:=2 to n do
if a[i]<a[imin] then imin:=i
else
if a[i]>a[imax] then imax:=i;
s:=0;
a[imax]:=0;
a[imin]:=0;
for i:=1 to n do s:=s+a[i];
avg:=s/(n-2);
Writeln('Балл ',avg:0:4)
end
else begin
s:=0;
for i:=1 to n do s:=s+a[i];
avg:=s/n;
for i:=1 to n do d[i]:=Abs(a[i]-avg);
for i:=1 to n-1 do
for j:=i+1 to n do
if d[i]<d[j] then begin
s:=d[i]; d[i]:=d[j]; d[j]:=s
end;
if Abs(d[1]-d[2])<1e-5 then Writeln('Балл ',avg:0:4)
else begin
s:=0;
for i:=1 to n do
if a[i]<>a[1] then s:=s+a[i];
avg:=s/(n-1);
Writeln('Балл ',avg:0:4)
end
end
end
end.
# include <iostream>
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian");
int n, n_copy, min1, min2, temp;
min1 = 9; min2 = 9;
cout << "Введите число: "; cin >> n;
n_copy = n;
while (n > 0) {
temp = n % 10;
if (temp < min1)
min1 = temp;
n = n / 10;
}
cout << "Первое минимальное = " << min1 << endl;
n = n_copy;
int b = 0;
while (n) {
if (n % 10 != min1) b = b * 10 + n % 10;
n /= 10;
}
while (b) {
n = n * 10 + b % 10;
b /= 10;
}
while (n > 0) {
temp = n % 10;
if (temp < min2)
min2 = temp;
n = n / 10;
}
cout << "Второе минимальное = " << min2 << endl;
int sum = min1 + min2;
if (sum % 2 == 0)
cout << "Сумма двух минимальных цифр " << min1 << "+" << min2 << "=" << sum << " четная." << endl;
else
cout << "Сумма двух минимальных цифр " << min1 << "+" << min2 << "=" << sum << " не четная." << endl;
system("pause");
return 0;
}
1101101(2)=1*2^6+1*2^5+0*2^4+1*2^3+1*2^2+0*2^1+1*2^0=64+32+0+8+4+0+1=109.
ОТВЕТ: 109.