[забыл математику] Оптимизация алгоритма
От: Real 3L0 Россия http://prikhodko.blogspot.com
Дата: 13.09.22 16:32
Оценка:
Приветствую.
Есть работающий код:
public static List<decimal> PricesForBuy(decimal marketBuyPrice, decimal marketSellPrice, decimal officialMinStep, decimal? overwriteMinStep)
{
    var ret = new List<decimal>();
    if (overwriteMinStep == null)
    {
        var mediumPrice = marketBuyPrice;

        do
        {
            ret.Add(mediumPrice);
            mediumPrice += officialMinStep;
        } while (mediumPrice <= marketSellPrice);
    }
    else
    {
        decimal mediumPrice2 = 0;

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

        while (mediumPrice2 <= marketSellPrice)
        {
            ret.Add(mediumPrice2);
            mediumPrice2 += overwriteMinStep.Value;
        }
    }

    return ret;
}


Нужно ускорить место:
        decimal mediumPrice2 = 0;

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

чтобы не с нуля перебором занимался.
Вселенная бесконечна как вширь, так и вглубь.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.