sum [x|x<-[1..999],x `mod` 3 == 0 || x `mod` 5 == 0]
add(N,N):-N mod 3=:=0,!. add(N,N):-N mod 5=:=0,!. add(_,0):-!. calc(1000,Sum):- !, write(Sum). calc(N,Sum):- add(N,Add), N1 is N+1, Sum1 is Sum+Add, calc(N1,Sum1). main:- calc(1,0).