using System.Collections.Generic;
using System.Threading.Tasks;
public static void Main()
List<Product> products = new List<Product>();
products.Add(new Product { Name = "A", OriginalPrice = 68.97, MinPrice = 68.85, MaxPrice = 69.05, NewPrice = 0 });
products.Add(new Product { Name = "B", OriginalPrice = 71.97, MinPrice = 71.92, MaxPrice = 71.98, NewPrice = 0 });
products.Add(new Product { Name = "C", OriginalPrice = 69.97, MinPrice = 69.96, MaxPrice = 69.98, NewPrice = 0 });
products.Add(new Product { Name = "D", OriginalPrice = 68.54, MinPrice = 68.54, MaxPrice = 68.54, NewPrice = 0 });
products.Add(new Product { Name = "E", OriginalPrice = 68.90, MinPrice = 68.85, MaxPrice = 69.05, NewPrice = 0 });
List<int> sequnce = new List<int>();
foreach (var product in products)
bool isMinPriceExist = false;
bool isMaxPriceExist = false;
if (product.OriginalPrice >= product.MinPrice && product.OriginalPrice <= product.MaxPrice)
double newMinPrice = product.OriginalPrice;
double newMaxPrice = product.OriginalPrice;
while (newMinPrice > product.MinPrice)
newMinPrice = System.Math.Round((newMinPrice - 0.01), 2);
int lastDigit = Program.LastNo(newMinPrice);
bool isLastDigitExist = sequnce.Contains(lastDigit);
if (isLastDigitExist == true)
while (newMaxPrice < product.MaxPrice)
newMaxPrice = System.Math.Round((newMaxPrice + 0.01), 2);
int lastDigit = Program.LastNo(newMaxPrice);
bool isLastDigitExist = sequnce.Contains(lastDigit);
if (isLastDigitExist == true)
if (isMinPriceExist && isMaxPriceExist)
if ((product.OriginalPrice - newMinPrice) > (newMaxPrice - product.OriginalPrice))
product.NewPrice = newMaxPrice;
product.NewPrice = newMinPrice;
else if (!isMinPriceExist && isMaxPriceExist)
product.NewPrice = newMaxPrice;
else if (isMinPriceExist && !isMaxPriceExist)
product.NewPrice = newMinPrice;
product.NewPrice = product.OriginalPrice;
product.NewPrice = product.OriginalPrice;
Console.WriteLine("New Price is:" + product.NewPrice);
public static int LastNo(double no)
return Convert.ToInt32(lastNo);
public double OriginalPrice;