На питоне 3.
Дома и магазины
На Новом построили подряд 10 зданий. Каждое здание может быть либо жилым домом, либо магазином, либо офисным зданием.
Но оказалось, что жителям некоторых домов на Новом слишком далеко приходится идти до ближайшего магазина. Для разработки плана развития общественного транспорта на Новом мэр города по вас выяснить, какое же наибольшее расстояние приходится преодолевать жителям Нового чтобы дойти от своего дома до ближайшего магазина.
Входные данные
Программа получает на вход десять чисел, разделенных пробелами. Каждое число задает тип здания на Новом число 1 обозначает жилой дом, число 2 обозначает магазин, число 0 обозначает офисное здание. Гарантируется, что на Новом есть хотя бы один жилой дом и хотя бы один магазин.
Выходные данные
Выведите одно целое число — наибольшее расстояние от дома до ближайшего к нему магазина. Расстояние между двумя соседними домами считается равным 1 (то есть если два дома стоят рядом, то между ними расстояние 1, если между двумя домами есть еще один дом, то расстояние между ними равно 2, и т.д.)
Примеры
Ввод
Вывод
2 0 1 1 0 1 0 2 1 2
3
const
pi=3.14;
var
N:integer;
Z:real;
R,D,L,S:real;
begin
Writeln('Введите номер элемента N=');
readln(N);
Writeln('Введите значение элемента Z=');
readln(Z);
case N of
1:begin
R:=Z;
D:=2*R;
L:=2*pi*R;
S:=pi*sqr(R);
Writeln('радиус R=',R);
Writeln('диаметр D=',D);
Writeln('длина L=',L);
Writeln('площадь круга S=',S);
end;
2:begin
R:=Z/2;
D:=2*R;
L:=2*pi*R;
S:=pi*sqr(R);
Writeln('радиус R=',R);
Writeln('диаметр D=',D);
Writeln('длина L=',L);
Writeln('площадь круга S=',S);
end;
3:begin
R:=Z/(2*pi);
D:=2*R;
L:=2*pi*R;
S:=pi*sqr(R);
Writeln('радиус R=',R);
Writeln('диаметр D=',D);
Writeln('длина L=',L);
Writeln('площадь круга S=',S);
end;
4:begin
R:=sqrt(Z/pi);
D:=2*R;
L:=2*pi*R;
S:=pi*sqr(R);
Writeln('радиус R=',R);
Writeln('диаметр D=',D);
Writeln('длина L=',L);
Writeln('площадь круга S=',S);
end;
else Writeln('ошибка');
end;
end.
main()
int N = 10, count = 0, z = 5, i;
int m[N];
double res = 0
for(i = 0, i < N, i++)
if ((m[i] >= -3) && (m[i] <= 3))
{
count++;
res = res + m[i];
}
if (count == 0)
res = 0;
else
res = res / count;
if (res > z)
{
res = 0;
for(i = 0; i < N; i++)
if (m[i] % 2 == 0)
res = res + m[i];
}
else
{
res = 1;
for(i = 0; i < N; i++)
if (m[i] % 2 != 0)
res = res * m[i];
}
printf("Z = %f", res);
}