Пусть b - количество быков, k - количество коров, t - количество телят. Тогда можно составить систему уравнений Два уравнения, три неизвестных. Придется решать перебором вариантов. Но прямой перебор - это неинтересно. Попробуем оптимизировать. На 100 рублей можно купить максимум 100/10=10 быков, или 100/5=20 коров, или 100/0.5=200 телят. Без телят не обойтись, даже 18 коров и бык - это 19 голов, а нужно 100. Подбирать нужное количество из 200 хуже, чем из 20 или 10, поэтому сделаем замену, чтобы избавиться от t. Из второго уравнения следует, что t=100-b-k. (1) Подставим значение t в первое уравнение: 10b+5k+0.5(100-b-k)=100; 10b+5k+50-0.5b-0.5k=100; 9.5b+4.5k=50; 19b+9k=100 ⇒ k=(100-19b)/9 (2) Укрупненный алгоритм: Перебираем b от 0 до 9 (10 нельзя, истратим все 100 рублей, а телят покупать надо!). Для каждого b находим k по формуле (2). Если оно целочисленное, находим t по формуле (1). Решение найдено. Иначе перебор продолжается.
var b,k,t:integer; v:real;
begin for b:=0 to 9 do if (100-19*b) mod 9=0 then begin k:=(100-19*b) div 9; t:=100-b-k; Writeln('Быков ',b,', коров ',k,', телят ',t); break end; end.
1. (число <20) и не ( число нечетное) (9 <20) и не (9 нечетное) ⇒ Истина и не Истина ⇒ Ложь (18 <20) и не (18 нечетное) ⇒ Истина и не Ложь ⇒ Истина (35 <20) и не (35 нечетное) ⇒ Ложь и не Истина ⇒ Ложь (48 <20) и не (48 нечетное) ⇒ Ложь и не Ложь ⇒ Ложь ответ: 2) 18
2. не (число >30) и ( число четное) или ( число меньше или равно 10) не (5 >30) и (5 четное) или (5 меньше или равно 10) ⇒ не Ложь и Ложь или Истина ⇒ Ложь или Истина ⇒ Истина не (9 >30) и (9 четное) или (9 меньше или равно 10) ⇒ не Ложь и Ложь или Истина ⇒ Ложь или Истина ⇒ Истина не (22 >30) и (22 четное) или (22 меньше или равно 10) ⇒ не Ложь и Истина или Ложь ⇒ Истина или Ложь ⇒ Истина не (40 >30) и (40 четное) или (40 меньше или равно 10) ⇒ не Истина и Истина или Ложь ⇒ Ложь или Ложь ⇒ Ложь ответ: 1) 5; 2) 9; 3) 22
3. ( число больше или равно 10) или ( число четное) или ( число меньше или равно 30) (7 больше или равно 10) или (7 четное) или (7 меньше или равно 30) ⇒ Ложь или Ложь или Истина ⇒ Истина (20 больше или равно 10) или (20 четное) или (20 меньше или равно 30) ⇒ Истина или Истина или Истина ⇒ Истина (27 больше или равно 10) или (27 четное) или (27 меньше или равно 30) ⇒ Истина или Ложь или Истина ⇒ Истина (35 больше или равно 10) или (35 четное) или (35 меньше или равно 30) ⇒ Истина или Ложь или Ложь ⇒ Истина ответ: для всех приведенных чисел результат высказывания - Истина
4. (число >30) или не (число четное) и (число меньше или равно 10) (5 >30) или не (5 четное) и (5 меньше или равно 10) ⇒ Ложь или не Ложь и Истина ⇒ Ложь или Истина ⇒ Истина (8 >30) или не (8 четное) и (8 меньше или равно 10) ⇒ Ложь или не Истина и Истина ⇒ Ложь или Ложь ⇒ Ложь (17 >30) или не (17 четное) и (17 меньше или равно 10) ⇒ Ложь или не Ложь и Ложь ⇒ Ложь или Ложь ⇒ Ложь (28 >30) или не (28 четное) и (28 меньше или равно 10) ⇒ Ложь или не Истина и Ложь ⇒ Ложь или Ложь ⇒ Ложь ответ: 2) 8 3) 17 4) 28
5. не (первая буква согласная) или ( последняя буква гласная) не (С согласная) или (А гласная) ⇒ не Истина или Истина ⇒ Истина не (С согласная) или (Н гласная) ⇒ не Истина или Ложь ⇒ Ложь не (А согласная) или (Т гласная) ⇒ не Ложь или Ложь ⇒ Истина не (А согласная) или (А гласная) ⇒ не Ложь или Истина ⇒ Истина ответ: 2) Слон
6. ( последняя буква согласная) или ( первая буква гласная) (А согласная) или (К гласная) ⇒ Ложь или Ложь ⇒ Ложь (К согласная) или (Б гласная) ⇒ Истина или Ложь ⇒ Истина (Л согласная) или (О гласная) ⇒ Истина или Истина ⇒ Истина (А согласная) или (О гласная) ⇒ Ложь или Истина ⇒ Истина ответ: 1) Коза
=В2+С2