Выплата в банке
Один человек пришёл в банк, чтобы получить деньги по чеку. Кассир, оплачивая чек, ошибся и вместо причитавшихся ему долларов выдал такое же число центов и соответственно вместо центов — долларов. Человек, не пересчитав деньги, положил их в карман, да еще уронил монетку в 5 центов, а придя домой, обнаружил, что денег у него ровно вдвое больше, чем было указано в чеке. На какую сумму был выписан чек?
Ответ
Рейтинг: :
Чек был выписан на сумму 31 доллар 63 цента. Человек получил 63 доллара 31 цент. После утерипятицентовой монетки осталось 63 доллара 26 центов, что в два раза превышает сумму, указанную вчеке.
Чек был выписан на сумму 31 доллар 63 цента. Человек получил 63 доллара 31 цент. После утерипятицентовой монетки осталось 63 доллара 26 центов, что в два раза превышает сумму, указанную вчеке.
+436
Комментарии:
Любовь, 2008-12-25
Не могу никак решить, даже зная ответ
HeeL, 2008-12-25
31,63 * 2 + 0.5 = 63.31
Bronya, 2009-02-19
HeeL, человек уронил не 50, а 5 центов, то есть 0,05
Аня, 2009-03-29
Не понтно. ПЛЗ, напишите решение
Dimka-a, 2009-07-27
Фишка в том, что
если х это доллары, а у это центы, то:
(100х + у)*2 = 100у + х - 5
у = (199х + 5)/98
0 <= у < 100
x >= 0
х и у целые числа.
ну вот а дальше перебором, искать нужно все Х чтобы 199x + 5 ,было кратным 98. Ну или наоборот, подбирать У... вобщем другого нормального решения я не вижу
miki, 2009-08-01
2x+1=y
2(100x+y)+5=100y+x
x=31,y=63
Dima, 2009-08-15
miki, откуда взялось
2x+1=y?
miki, 2009-08-15
pervonachalnoe kolichestvo sentov bolshe ili ravno 50,tak summa udvaivaetsa to odin dollar perexodit 2x+1!tut samoe glavnoe zametit chto iznachalno kolichestvo sentov doljno bit bolshe ili ravno 50,a eto est uravnenie 2x+1=y
kavyn, 2009-12-24
переведем всю сумму в центы
100х+у, где х - доллар, у - центы (0<y<99)
Составив уравнение
2(100х+у)=100у+х-5
Получим
199х=98у-5
Так как здесь уже начинаеться подбор чисел, надо его немного упростить. Сделаем предположение что центов(у) вдва раза больше чем долларов (х) так сказано в условии + какойто хвостик
Получаем
у=2х+к
Из этого следует
3х=98к-5, 1<к<9, при этом должно получиться число кратное трем
Подставим к=1
3х=93 => х=31 => у=63
Проверяем... всё совпадает)))
Серж, 2010-03-02
31,63. решал с помощью подбора прибегнув к логике. т.к. цифры поменяли местами соответственно центов должно быть в 2 раза больше и сумма при удвоении должна добовлять ед-цу к доллору. соответственнно их больше 50, но т.к. в дальнейшем он потерял 5 цен. долловров должно быть больше 30,соответственно центов больше 60. далле все просто. решил практически сразу.
Dita Kim, 2010-04-04
Соотнесла между собой доллары и центы. Так как из условия понятно, что центов должно быть > либо = 50, то получилось:
для долларов -
y=2*x+1
для центов -
x-5=2*y-100
Дальше решаем систему и получаем ответ)))
Настя, 2010-06-07
Где находиться этот банк? Я б сделала там вклад))
[DOCTOR][DOOM], 2011-02-15
что вы так убиваетесь? Ответ прост: центов должно быть больше, чем долларов ,при этом долларов как минимум 5.
Роман, 2011-03-11
Решил за минуту в экселе, ввел функцию нажал поиск решения и тадам комп сам проделал подбор. может и нечестно но практично=)
jeena, 2011-10-16
может я тупая но я никак не могу понять почему число должно быть больше 50 и почему 2х+1... объясните пожалуйста кому не сложно очень очень надо...
Олег, 2011-11-19
Написал универсальный алгоритм на Паскале для решения данной задачи.
Label m;
var x, y, k: Integer;
begin
x:=0;
y:=0;
k:=0;
m: repeat
x:=x+1;
y:=2*x+k;
until (2*(100*x+y)=100*y+x-5) or (y>99);
if y>99 then
begin
x:=0;
y:=0;
k:=k+1;
goto m;
end;
writeln('Сумма по чеку ', '$', x, ',' ,y);
writeln('Получено на руки ', '$', y, ',' ,x);
writeln('В итоге с потерей ', '$', y, ',' ,x-5);
end.
Для проверки также можно рассмотреть данную задачу с немного измененным условием. Если, допустим, человек получил не вдвое больше, а в трое, и потерял не 5, а 10 центов.
Для этого лишь стоит только изменить формулу после until на
(3*(100*x+y)=100*y+x-10)
Олег, 2011-11-20
Можно еще проще, если учитывать то, что не только центы ограничены (0<y<100), но и доллары, поскольку сумма в результате должна быть вдвое больше чем по чеку. А это может быть только тогда, когда 0<x<(y/2).
Таким образом мы существенно сокращаем диапазон перебора.
var x, y: Integer;
begin
for x:=1 to 49 do
for y:=1 to 99 do
if (2*(100*x+y)=100*y+x-5) then
begin
writeln('Сумма по чеку ', '$', x, ',' ,y);
writeln('Получено на руки ', '$', y, ',' ,x);
writeln('В итоге с потерей ', '$', y, ',' ,x-5);
end;
end.
султанбек, 2012-01-04
как можно решить если нету цифров
Дмитрий, 2013-03-27
Да интересная задача! Спасибо за ответы)))
arsetanov, 2013-10-18
почаще бы так банкиры ошибались)))
Дмитрий, 2014-11-01
Не нашел ни одного ответа доведенного до конца.
2(100x+y) = 100y+x-5
200x+2y=100y+x-5
199x=98y-5
199x+5/98=y
2x + 3x+5/98 = y
Значит 3х+5/98 должно быть целым числом, а таких возможностей всего 1, т.к. у не должен быть больше 99 и соответственно х не может быть больше 49. Исходя из этого х=31. Теперь лего находим у. у=63
Саша, 2014-12-22
Решал долго часа полтора решил)))
Niginq, 2015-01-07
MARK, 2017-10-04
Основное уравнение для решения, переводя
доллары Д в центы Ц:
2(100Д + Ц) = 100Ц + Д - 5;
является уравнением с двумя неизвестными.
Такое уравнение можно решить только подбором.
Дополнительные ограничения: т.к. Ц<= 99, поэтому
уравнение может быть удовлетворено, если Д<= 49.
Решением уравнения могут быть только целые числа.
Для облегчения подбора преобразуем уравнение к виду:
Ц = (199Д + 5)/98.
Начиная с Д = 49, уменьшаем это число до тех пор, пока
не получим целое число Ц. Таким числом оказывается
число Д = 31, которое даёт Ц = 63.
Решение: чек был выписан на сумму 31 доллар 63 цента.