ustinovda14
?>

Составьте программу (полный текст программы) для решения следующей . введите с клавиатуры три числа: а, в, с. если все они четные, то найдите и выведите на экран их сумму. если все они нечетные и a> b> c, то определите и выведите значения наибольшего и наименьшего из чисел. иначе, выведите числа без изменения. фрагмент программы: if (a mod 2 = 0) and (b mod 2 = 0) and (c mod 2 = 0) then begin s: =a+b+c; writeln('сумма равна ', s); end; if (a mod 2 < > 0) and (b mod 2 < > 0) and (c mod 2 < > 0) and (a> b) and (b> c) then begin writeln('наибольшее число ', a); writeln('наименьшее число ', c); end else writeln('a= ', a, ' b= ', b, ' c= ', c);

Информатика

Ответы

novdodCT

var 

a,b,c,s: integer;

begin

readln(a,b,c);

  if (a mod 2 = 0) and (b mod 2 = 0) and (c mod 2 = 0) then

begin

s: =a+b+c; writeln('сумма равна ', s);

end;

if (a mod 2 < > 0) and (b mod 2 < > 0) and (c mod 2 < > 0) and (a> b) and (b> c) then

begin

writeln('наибольшее число ', a);

writeln('наименьшее число ', c);

end;

else

writeln('a= ',a,' b= ', b, ' c= ',c);

readln;

end.

Tatgri
Пусть 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, коров 9, телят 90
Svetlana191
Пусть 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, коров 9, телят 90

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Составьте программу (полный текст программы) для решения следующей . введите с клавиатуры три числа: а, в, с. если все они четные, то найдите и выведите на экран их сумму. если все они нечетные и a> b> c, то определите и выведите значения наибольшего и наименьшего из чисел. иначе, выведите числа без изменения. фрагмент программы: if (a mod 2 = 0) and (b mod 2 = 0) and (c mod 2 = 0) then begin s: =a+b+c; writeln('сумма равна ', s); end; if (a mod 2 < > 0) and (b mod 2 < > 0) and (c mod 2 < > 0) and (a> b) and (b> c) then begin writeln('наибольшее число ', a); writeln('наименьшее число ', c); end else writeln('a= ', a, ' b= ', b, ' c= ', c);
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

fotostock
lbeglarova6
natalya2321
Николаевич
Елена Васильева839
gub191025
varvara82193
kapitan19
Галстян874
Tanyamitia
pizniak
Yelena Dilyara
ninaandreeva3179
CafedeMinou
sergei-pletenev