Как в этой программе на python второй for переделать в while q = int(input("Количество учеников: "))
e = []
for i in range(q):
b = set(input("Какие языки знает ученик (через пробел): ").split())
e.append(b)
all = e[0]
one = e[0]
for a in e:
all = all.intersection(a)
one = one.union(a)
print("Все школьники знают", all)
print("Хотя бы один школьник знает", one)
using namespace std;
int main()
{
//объявление переменных
int a,b,c,min,max;
//Вводим числа
cout<<"Введите а "<<endl;
cin>>a;
cout<<"Введите b"<<endl;
cin>>b;
cout<<"Введите c"<<endl;
cin>>c;
//Ищем максимальное число
if (a>=b && a>=c)
{max=a;}
else
{if (b>=a && a>=c)
{max=b;}
else max=c;}
//Ищем минимальное число
if (a<=b && a<=c)
{min=a;}
else
{if (b<=a && a<=c)
{min=b;}
else min=c;}
//Вывод переменных
cout<<"Максимальное число = "<<max<<endl;
cout<<"Минимальное число = "<<min<<endl;
system("pause");
return 0;}
Посчитаем объем земли, который был снят.
Всю землю можно разделить на фигуры толщиной 1 метр, в основании которых трапеции с высотой 1 м и основаниями - двумя соседними измерениями высоты. Тогда объем каждой фигуры V(i) = (h(i) + h(i + 1)) / 2, полный объем V = V(1) + V(2) + ... + V(N - 1) = h(1)/2 + (h(2) + h(3) + ... + h(N - 2)) + h(N - 1)/2
Объем земли, который использовался для засыпания, равен V = h (N - 1).
Эти объемы, конечно, равны, тогда h = (h(1)/2 + h(N - 1)/2 + (h(2) + h(3) + ... + h(N - 2))/(N - 1)
PascalABC.NET 3.2.1518:
begin
var N := ReadInteger;
print(ReadSeqInteger(N)
.Select((x, i) -> (i = 0) or (i = N - 1) ? x/2 : x)
.Sum / (N - 1))
end.
С вводом-выводом в файл:
begin
var f := OpenRead('INPUT.TXT');
var N := f.ReadInteger;
var S := f.ReadInteger / 2;
for var i := 2 to N - 1 do
S += f.ReadInteger;
S += f.ReadInteger / 2;
print(S / (N - 1))
end.