$7.11
Покупатель пришёл в магазин за четырьмя наименованиями товаров. У него имелось 7.11 долларов на покупки. Покупатель попросил продавца подобрать ему товары, которые он выбрал, на эту сумму. Продавец нашёл все четыре наименования товара с подходящей ценой, сумма цен составляла ровно 7 долларов 11 центов. Но покупатель на этом не успокоился и попросил чтобы произведение цен этих товаров также равнялось бы 7.11 долларам. Продавец справился и с этим заданием, так что сумма и произведение цен выбранных товаров составляла 7 долларов 11 центов. Какова стоимость каждого из товаров?
Ответ
Рейтинг: : Цены товаров составляют $1.20, $1.25, $1.50, $3.16
+14
Комментарии:
Олег, 2010-02-22
С меня пиво тому кто всю эту х..ню сможет посчитать и объяснитьDoc, 2010-08-12
вдвоем скинемсяАскар, 2010-08-16
Покажите, как вы эту задачу решили? Два уравнения и четыре неизвестных. Как решается такая система?sw, 2010-09-22
решается с помощью программки методом перебора.
С листком не осилил. Кто решил честно?Олег, 2011-11-27
Увы, решить данную задачу математически невозможно.
Получается система с двух уравнений и с четырьмя неизвестными:
x+y+z+k=7.11
x*y*z*k=7.11
А для полноценного решения системы, уравнений должно быть столько, сколько и переменных. Мало того, еще и числа нецелые, что еще больше усугубляет сложившуюся ситуацию.
Такие задачи решаются только программно, тупо в лоб - методом перебора. Но даже здесь, из-за того что результирующие числа нецелые, пришлось немного помудрить.
Это связано с тем, что перебирать мы можем только целые числа.(переменная цикла может принадлежать только целому типу Integer).
Для этого нашу систему из долларов нужно перевести в центы.
Просто оба уравнения умножить на 100 не получится, так как второе уравнение у нас произведение товаров, и при умножении на 100, мы переводим в центы только одну переменную (один товар).
Поскольку у нас 4 товара, то получим
100*x+100*y+100*z+100*k=711
100*x*100*y*100*z*100*k=711 000 000
Таким образом, получается, что второе уравнение мы умножаем на 100 000 000 (100^4) (первое на 100).
С математической точки зрения это не совсем правильно, так нельзя делать, поскольку мы потеряли равносильность систем, то есть полученная система не равносильна первоначальной.
Но мы и не решали систему, а только перевели все товары в центы, при этом сохранив ее решабельность.
Теперь, хоть сумма и не равна произведению,
но зато при тех же значениях переменных будут истинны оба уравнения одновременно, то есть наша система будет выполнятся.
Это нужно для реализации программного алгоритма.
Теперь на время выполнения перебора каждую переменную нам нужно увеличить в 100 раз, наша система приобретет следующий вид:
x+y+z+k=711
x*y*z*k=711 000 000
После же выполнения мы получим в результате наш ответ, где каждая переменная будет в центах. Нам лишь остается разделить каждую переменную на 100 и вывести результат.
В этом в общем-то и заключается основная идея преобразований для программного решения.
Ах да, еще в ответе указан только один из всевозможных вариантов ответов. Поскольку в условии задачи не сказано какой товар дороже, а какой дешевле, то мы имеем дело с перестановками, поэтому всевозможных вариантов ответов будет 4!, что равно 24.
На Паскале листинг будет выглядеть так:
var i, x, y, z, k: Integer;
begin
for x:=1 to 711 do
for y:=1 to 711 do
for z:=1 to 711 do
for k:=1 to 711 do
if (x+y+z+k = 711) and (x*y*z*k = 711000000) then
begin
writeln('Стоимость первого товара: ', '$', x/100);
writeln('Стоимость второго товара: ', '$', y/100);
writeln('Стоимость третьего товара: ', '$', z/100);
writeln('Стоимость четвертого товара: ', '$', k/100);
writeln;
end;
end.
Чтобы быстрее получить ответ, в цикле лучше поставить вместо всех 711, 316, поскольку это максимальная стоимость товара, больше нам перебирать и ненужно. (Хотя при первом выполнении мы этого не знаем).
Если в цикле 316, то на PascalABC программа(перебор) выполняется около 40 мин., а вот на Delphi XE всего 12 сек. Разница во времени впечатляет.
Хотя многое еще зависит от мощности компа, но котором выполняется прога, в частности процессора.
Окончательный ответ данной задачи:
ВАРИАНТ - 1
Стоимость первого товара: $1,20
Стоимость второго товара: $1,25
Стоимость третьего товара: $1,50
Стоимость четвертого товара: $3,16
ВАРИАНТ - 2
Стоимость первого товара: $1,20
Стоимость второго товара: $1,25
Стоимость третьего товара: $3,16
Стоимость четвертого товара: $1,50
ВАРИАНТ - 3
Стоимость первого товара: $1,20
Стоимость второго товара: $1,50
Стоимость третьего товара: $1,25
Стоимость четвертого товара: $3,16
ВАРИАНТ - 4
Стоимость первого товара: $1,20
Стоимость второго товара: $1,50
Стоимость третьего товара: $3,16
Стоимость четвертого товара: $1,25
ВАРИАНТ - 5
Стоимость первого товара: $1,20
Стоимость второго товара: $3,16
Стоимость третьего товара: $1,25
Стоимость четвертого товара: $1,50
ВАРИАНТ - 6
Стоимость первого товара: $1,20
Стоимость второго товара: $3,16
Стоимость третьего товара: $1,50
Стоимость четвертого товара: $1,25
ВАРИАНТ - 7
Стоимость первого товара: $1,25
Стоимость второго товара: $1,20
Стоимость третьего товара: $1,50
Стоимость четвертого товара: $3,16
ВАРИАНТ - 8
Стоимость первого товара: $1,25
Стоимость второго товара: $1,20
Стоимость третьего товара: $3,16
Стоимость четвертого товара: $1,50
ВАРИАНТ - 9
Стоимость первого товара: $1,25
Стоимость второго товара: $1,50
Стоимость третьего товара: $1,20
Стоимость четвертого товара: $3,16
ВАРИАНТ - 10
Стоимость первого товара: $1,25
Стоимость второго товара: $1,50
Стоимость третьего товара: $3,16
Стоимость четвертого товара: $1,20
ВАРИАНТ - 11
Стоимость первого товара: $1,25
Стоимость второго товара: $3,16
Стоимость третьего товара: $1,20
Стоимость четвертого товара: $1,50
ВАРИАНТ - 12
Стоимость первого товара: $1,25
Стоимость второго товара: $3,16
Стоимость третьего товара: $1,50
Стоимость четвертого товара: $1,20
ВАРИАНТ - 13
Стоимость первого товара: $1,50
Стоимость второго товара: $1,20
Стоимость третьего товара: $1,25
Стоимость четвертого товара: $3,16
ВАРИАНТ - 14
Стоимость первого товара: $1,50
Стоимость второго товара: $1,20
Стоимость третьего товара: $3,16
Стоимость четвертого товара: $1,25
ВАРИАНТ - 15
Стоимость первого товара: $1,50
Стоимость второго товара: $1,25
Стоимость третьего товара: $1,20
Стоимость четвертого товара: $3,16
ВАРИАНТ - 16
Стоимость первого товара: $1,50
Стоимость второго товара: $1,25
Стоимость третьего товара: $3,16
Стоимость четвертого товара: $1,20
ВАРИАНТ - 17
Стоимость первого товара: $1,50
Стоимость второго товара: $3,16
Стоимость третьего товара: $1,20
Стоимость четвертого товара: $1,25
ВАРИАНТ - 18
Стоимость первого товара: $1,50
Стоимость второго товара: $3,16
Стоимость третьего товара: $1,25
Стоимость четвертого товара: $1,20
ВАРИАНТ - 19
Стоимость первого товара: $3,16
Стоимость второго товара: $1,20
Стоимость третьего товара: $1,25
Стоимость четвертого товара: $1,50
ВАРИАНТ - 20
Стоимость первого товара: $3,16
Стоимость второго товара: $1,20
Стоимость третьего товара: $1,50
Стоимость четвертого товара: $1,25
ВАРИАНТ - 21
Стоимость первого товара: $3,16
Стоимость второго товара: $1,25
Стоимость третьего товара: $1,20
Стоимость четвертого товара: $1,50
ВАРИАНТ - 22
Стоимость первого товара: $3,16
Стоимость второго товара: $1,25
Стоимость третьего товара: $1,50
Стоимость четвертого товара: $1,20
ВАРИАНТ - 23
Стоимость первого товара: $3,16
Стоимость второго товара: $1,50
Стоимость третьего товара: $1,20
Стоимость четвертого товара: $1,25
ВАРИАНТ - 24
Стоимость первого товара: $3,16
Стоимость второго товара: $1,50
Стоимость третьего товара: $1,25
Стоимость четвертого товара: $1,20Олег, 2011-11-27
Скачать экзешник на Delphi можно по этой ссылке:
megauploadcom?d=ENXEIFY1
(после 'megaupload' точка, а после 'com' слеш)Артем, 2012-02-12
через excel можно решитьAlex, 2012-06-23
Я начал решение так: Преположил, что 2 из этих товара стоят ровно 1 доллар. Тогда получается решаемая система
x+y=5.11
x*y=7.11
Только вот ответ получается на множестве комплексных чисел. О_О
