// PascalABC.NET 3.1, сборка 1250 от 28.05.2016 begin var a:=ArrRandom(30,1960,2016); a.Println; var iFirst:=a.IndexMin; var iLast:=iFirst; var vMin:=a[iFirst]; for var i:=29 downto iFirst+1 do if a[i]=vMin then begin iLast:=i; break end; if iLast=iFirst then Writeln('Самый старший человек номер ',iFirst+1) else Writeln('Первый из самых старших людей имеет номер ', iFirst+1,', последний из людей этого возраста - номер ', iLast+1) end.
Тестовое решение 1987 1971 1974 1989 1989 1960 1987 2016 1992 1962 1971 2011 1993 1962 2008 1994 1994 1976 1988 2014 2011 1960 1971 2000 1973 2010 1964 1976 1971 1993 Первый из самых старших людей имеет номер 6, последний из людей этого возраста - номер 22
begin Write('введите натуральное число: '); Readln(n);
{инициализация начальных значений минимума и максимума} min := 9; max := 0;
{разбиение числа на отдельные цифры и поиск их минимума и максимума} while n <> 0 do begin if n mod 10 < min then min := n mod 10; if n mod 10 > max then max := n mod 10; n := n div 10 end;
{Вычисление и вывод среднего геометрического минимума и максимума} writeln('Среднее геометрическое: ', sqrt(max * min)); end.
Собственно сначала программа ищет минимальную и максимальную цифру в числе, а потом считает среднее геометрическое или среднее пропорциональное этих двух цифр.
begin
var a:=ArrRandom(30,1960,2016); a.Println;
var iFirst:=a.IndexMin;
var iLast:=iFirst;
var vMin:=a[iFirst];
for var i:=29 downto iFirst+1 do
if a[i]=vMin then begin iLast:=i; break end;
if iLast=iFirst
then Writeln('Самый старший человек номер ',iFirst+1)
else Writeln('Первый из самых старших людей имеет номер ',
iFirst+1,', последний из людей этого возраста - номер ',
iLast+1)
end.
Тестовое решение
1987 1971 1974 1989 1989 1960 1987 2016 1992 1962 1971 2011 1993 1962 2008 1994 1994 1976 1988 2014 2011 1960 1971 2000 1973 2010 1964 1976 1971 1993
Первый из самых старших людей имеет номер 6, последний из людей этого возраста - номер 22
n: integer;
min, max: 0..9;
begin
Write('введите натуральное число: ');
Readln(n);
{инициализация начальных значений минимума и максимума}
min := 9;
max := 0;
{разбиение числа на отдельные цифры и поиск их минимума и максимума}
while n <> 0 do
begin
if n mod 10 < min then min := n mod 10;
if n mod 10 > max then max := n mod 10;
n := n div 10
end;
{Вычисление и вывод среднего геометрического минимума и максимума}
writeln('Среднее геометрическое: ', sqrt(max * min));
end.
Собственно сначала программа ищет минимальную и максимальную цифру в числе, а потом считает среднее геометрическое или среднее пропорциональное этих двух цифр.