rule!Is primenumber{}
how to implement it correctly when I want to get it in a specific range ?
Discussion posts and replies are publicly visible
Use this, where lower and uppper are the limits of the range you want to work with.
a!localVariables( local!lower: enumerate(ri!lower) + 1, local!upper: enumerate(ri!upper) + 1, local!value: remove(local!upper, wherecontains(local!lower, local!upper)), local!count: a!forEach( items: local!value, expression: sum(mod(fv!item, enumerate(fv!item) + 1) = 0) <= 2 ), index(local!value, wherecontains(true, local!count)) )
not working
I just tried the sample code posted and it works fine for me. What are you trying, exactly, and what result are you getting, to make you think it isn't working?
just for the fun of it:
a!localVariables( /* local!lower: enumerate(ri!lower) + 1, local!upper: enumerate(ri!upper) + 1, local!value: remove(local!upper, wherecontains(local!lower, local!upper)), (the above can just use "difference()" also, though it's really not necessary either way) */ local!betterArray: enumerate(ri!upper - ri!lower) + (1 + ri!lower), local!count: a!forEach( items: local!betterArray, expression: sum(mod(fv!item, enumerate(fv!item) + 1) = 0) <= 2 ), index( local!betterArray, /*wherecontains(true, local!count)*/ where(local!count) ) )
Which error are you receiving? As Mike Schmitt said,, the code works fine and you only need to add two input variables in your expression rule (lower and upper)