program SumMultiples;
var
LIMIT: Integer;
upper_for_three, upper_for_five, upper_for_fifteen: Integer;
sum_three, sum_five, sum_fifteen, total_sum: Real;
begin
LIMIT := 999;
// Calculate the upper bounds
upper_for_three := LIMIT div 3;
upper_for_five := LIMIT div 5;
upper_for_fifteen := LIMIT div 15;
// Calculate the sums using the arithmetic series formula
sum_three := 3 * upper_for_three * (1 + upper_for_three) / 2;
sum_five := 5 * upper_for_five * (1 + upper_for_five) / 2;
sum_fifteen := 15 * upper_for_fifteen * (1 + upper_for_fifteen) / 2;
// Calculate the total sum
total_sum := sum_three + sum_five - sum_fifteen;
Writeln('The total sum is: ', Round(total_sum));
end.
(*
run:
The total sum is: 233168
*)