Пусть 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
ckati
29.04.2020
Пусть 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
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Дан диаметр окружности d найти ее длину l= п*d. значение пи 3.14 язык java