![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 21.01.2020
Сообщений: 3
|
![]()
Доброго времени суток господа форумчане
Подскажите пжл., как правильно реализовать? Мне приходит 2 переменные, 1. Имеется float число, к примеру 288641.0102 2. Имеется массив вида Array ( [0] => 6094 [1] => 6095.01 [2] => 6095.0004 ... ... ... ) 3. Необходимо от числа 288641.0102 отнимать значение массива по строчно до тех пор, пока не израсходуем данное число. Итогом данного выражения служит число с двумя числами после запятой, типа 7.87 либо 43.22. То есть ответ включает, сколько строк входит в данное число, с точностью до 2-х знаков после запитой! Если взять пример для визуализации, то представим у нас есть сумма 288641.0102 рублей и к нам приходит массив с предложениями купить ткань. В массиве цена дана за 1 метр ткани, но цены разные. Нам надо посчитать сколько метров мы можем купить на данную сумму! Как я вижу, берется Первоначальная общая сумма, от нее минусуется 1 позиция массива, затем от полученной суммы минусуется вторая позиция и так далее. Мы получаем целое число метров и какой то остаток денег. Этот остаток денег мы тратим на следующий метр, но так как у нас денег осталось не на метр, а на какую то часть, то мы берем на сколько хватает Получается, что из суммы 288641.0102 мы можем купить (к примеру) 7.87 метра либо 43.22 метра. Вроде мозгами понимаю как это реализовать даже через while-цикл, но практически не получается! |
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,595
|
![]() Код:
Код:
Выбирай какой больше нравится. Последний раз редактировалось macomics; 14.10.2022 в 18:36. |
![]() |
![]() |
![]() |
#3 |
Новичок
Джуниор
Регистрация: 21.01.2020
Сообщений: 3
|
![]()
У меня и в первом и во втором примере получилось значение = -594138886
Я честно говоря не понимаю что это высчиталось, и это результат чего? :-) Тут получается к примеру, что изначально есть 170 000 рублей, нам дается массив предложений стоимости 1 метр от 4000 до 6000 рублей и нам надо просто узнать сколько метров мы можем купить на эти деньги, там значение получается примерно 27 с копейками! Я пришел к такому коду, который в принципе считает целую часть правильно, но почему-то отбрасывает дробную часть! Код:
Число: 164560 Process... 164560 - 609998000 = out of range Result: 164560 left. Subtracted 0 numbers Тут получается ошибка из за округления: * Итоговая сумма от которой отнимаем = 164560 (она уже приведена к конечному виду, то есть деленная на 100000) * А вот сам массив идет первородный, то есть с дополнительными 5 нулями, вида 609998000 Попытался умножить саму сумму на 100000 перед тем как отнимать от него массив, получил : Число: 16456000000 Process... 16456000000 - 609998000 = 15846002000 15846002000 - 610000000 = 15236002000 15236002000 - 610000000 = 14626002000 14626002000 - 610000000 = 14016002000 14016002000 - 610000000 = 13406002000 13406002000 - 615000000 = 12791002000 12791002000 - 619790000 = 12171212000 12171212000 - 619790000 = 11551422000 11551422000 - 619790000 = 10931632000 10931632000 - 619790000 = 10311842000 10311842000 - 619799990 = 9692042010 9692042010 - 619799990 = 9072242020 9072242020 - 619799990 = 8452442030 8452442030 - 619800000 = 7832642030 7832642030 - 619800000 = 7212842030 7212842030 - 619800000 = 6593042030 6593042030 - 619800000 = 5973242030 5973242030 - 619900000 = 5353342030 5353342030 - 619900000 = 4733442030 4733442030 - 619900000 = 4113542030 4113542030 - 619900000 = 3493642030 3493642030 - 619900000 = 2873742030 2873742030 - 620000000 = 2253742030 2253742030 - 623800000 = 1629942030 1629942030 - 623999000 = 1005943030 1005943030 - 624000000 = 381943030 381943030 - 624400000 = out of range Result: 381943030 left. Subtracted 26 numbers Итоговое число = 26 это правильно, а как получить не целое число 26, а дробное, учитывая остаток? К примеру остаток 381943030 сколько в процентах от числа 624000000 - ну это примерно 61% Вот что бы итог был равен примерно = 26,61 Последний раз редактировалось MAKSIMOVGENYA; 14.10.2022 в 22:34. |
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 27.04.2022
Сообщений: 405
|
![]()
А можно ещё и так http://kaval.beget.tech/cloth_buying.php
стимулятор https://yoomoney.ru/to/41001303250491
|
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
[РЕШЕНО][Python] факториал, Фибоначчи: в ходе выполнения в цикле все последующие значения факториалов перемножаются с предыдущими, а хочу чтоб выводился факториал конкретного числа | Staniislav | Помощь студентам | 2 | 19.08.2017 23:57 |
Найти количество тех элементов массива, значения которых положительны и не превосходят заданного числа А | qwot | C# (си шарп) | 1 | 08.11.2014 12:36 |
Получение значения из float* массива | zeich | Общие вопросы C/C++ | 4 | 10.05.2012 11:43 |
Сумма и произведение элементов массива, удовлетворяющих условию (генерация float массива) | felodese | Помощь студентам | 1 | 11.11.2010 20:52 |
Не могу отнимать значения в базе данных | azatturgaev | БД в Delphi | 0 | 27.09.2010 20:06 |