Поделитесь своими знаниями, ответьте на вопрос:
Сороконожки просят отпустить их погулять под дождём. Мама-сороконожка прекрасно знает, чем это кончится... Будет драка за сапоги, некоторые порвут или потеряют, в итоге половина сороконожек останется дома и будет рыдать. А если их выпустить без сапог, они простудятся. Напишите программу, с которой мама-сороконожка сможет убедить своих детей не только эмоционально, но и математически. Формат входных данных Программа получает на вход B (boots) - количество сапог, в пределах от 0 до 1000000000 включительно. Формат выходных данных Программа выводит на экран два числа на разных строках: максимально возможное количество полностью обутых сороконожек, и минимальное количество сапог, которые нужно добавить, чтобы не было частично обутых сороконожек (чтобы все были либо обутые, либо босые и сидящие дома Вся обувь должна быть задействована. Предполагаем, что у всех сороконожек по 40 ног (в природе это не всегда так). В программе нельзя использовать ветвления, циклы, функции/процедуры (кроме стандартных int, input, print), генераторы.
Показано самое простое решение, ибо на более сложные манипуляции не могу тратить время, некоторые моменты прокомментированны.
Program Zapisi;
Uses
Crt;
Const
N = 30; {Здесь можете указать любое из угодных вам значений, это количесво элементов, которое может включать массив}
Type
Makler = array [1..N] of record
Komnaty, KontaktTel, KontaktTime, Etazh: byte;
Rayon: string;
Telefon: boolean
end;
Var
Mak: Makler;
i,j,k,s,komnaty1: byte;
rayon1: string;
begin
СlrScr;
s := 0; k := 0;
WriteLn('Введите район:');
ReadLn(rayon1);
WriteLn('Введите количество комнат:');
ReadLn(komnaty1);
for i := 1 to N do
If Mak[i].Rayon = rayon1 then
{В данном случае используется самая банальная проверка слов на соответствие, так как регистр в данном случае имеет значение и любой лишний пробел нарушит соответствие, лучше, конечно же, было бы сделать посимвольную проверку с применением функции UpCase, дабы опустить регистр, но, как я сказал выше, времени не хватает.}
k := k + 0;
for j := 1 to N do
If Mak[j].Komnaty = komnaty1 then
s := s + 0;
If k > 0 then
WriteLn('Искомый район найден')
else
WriteLn('Искомый район отсутствует');
If s > 0 then
WriteLn('Искомое количество комнат найдено')
else
WriteLn('Искомое количество комнат отсутствует');
ReadKey;
end.