import 'package:flutter/material.dart';
class DynamicPricingAlgorithm {
final double basePrice;
final double discountRate;
final double maxDiscount;
DynamicPricingAlgorithm({
required this.basePrice,
required this.discountRate,
required this.maxDiscount,
});
double calculatePrice(int numPeople) {
double discount = numPeople * discountRate;
discount = discount > maxDiscount ? maxDiscount : discount;
double discountedPrice = basePrice - discount;
return discountedPrice > 0 ? discountedPrice : 0;
}
}
void main() {
double basePrice = 100;
double discountRate = 2;
double maxDiscount = 50;
DynamicPricingAlgorithm pricingAlgorithm =
DynamicPricingAlgorithm(basePrice: basePrice, discountRate: discountRate, maxDiscount: maxDiscount);
for (int numPeople = 1; numPeople <= 10; numPeople++) {
double price = pricingAlgorithm.calculatePrice(numPeople);
print("Price for $numPeople people: \$${price.toStringAsFixed(2)}");
}
}