Task

The objective is to write a function that finds the sum of all positive multiples of 3 or 5 below n.

Show output for n = 1000.

This is is the same as Project Euler problem 1.

Extra credit: do this efficiently for n = 1e20 or higher.




INCLUDE "D2:REAL.ACT" ;from the Action! Tool Kit
 
PROC Main()
  REAL sum,r
  INT i
 
  Put(125) PutE() ;clear the screen
  IntToReal(0,sum)
  FOR i=0 TO 999
  DO
    IF i MOD 3=0 OR i MOD 5=0 THEN
      IntToReal(i,r)
      RealAdd(sum,r,sum)
    FI
  OD
 
  PrintRE(sum)
RETURN