Информация об изменениях

Сообщение Re: [забыл математику] Оптимизация алгоритма от 13.09.2022 18:29

Изменено 15.09.2022 11:51 xma

Re: [забыл математику] Оптимизация алгоритма
Здравствуйте, Real 3L0, Вы писали:

R3>Нужно ускорить место:

R3>
R3>        decimal mediumPrice2 = 0;

R3>        do
R3>        {
R3>            mediumPrice2 += overwriteMinStep.Value;
R3>        } while (mediumPrice2 < marketBuyPrice);
R3>

R3>чтобы не с нуля перебором занимался.

редкостное говнокодище конечно ..

учись у "бога программирования",

decimal mediumPrice2 = overwriteMinStep.Value; 
const decimal size = marketBuyPrice - mediumPrice2; 

if (size > 0 && overwriteMinStep.Value > 0)
     mediumPrice2 += overwriteMinStep.Value * decimal.Ceiling (size / overwriteMinStep.Value);


(вроде верно)

в твоём же коде вообще, если overwriteMinStep.Value <= 0, то твой код уйдёт в бесконечный цикл (если в первый раз сработает условие while) ..
Re: [забыл математику] Оптимизация алгоритма
Здравствуйте, Real 3L0, Вы писали:

R3>Нужно ускорить место:

R3>
R3>        decimal mediumPrice2 = 0;

R3>        do
R3>        {
R3>            mediumPrice2 += overwriteMinStep.Value;
R3>        } while (mediumPrice2 < marketBuyPrice);
R3>

R3>чтобы не с нуля перебором занимался.

редкостное говнокодище конечно ..

учись у "бога программирования",

var mediumPrice2 = overwriteMinStep.Value; 
var size = marketBuyPrice - mediumPrice2; 

if (size > 0 && overwriteMinStep.Value > 0)
     mediumPrice2 += overwriteMinStep.Value * decimal.Ceiling (size / overwriteMinStep.Value);


(вроде верно)

в твоём же коде вообще, если overwriteMinStep.Value <= 0, то твой код уйдёт в бесконечный цикл (если в первый раз сработает условие while) ..