是否可以对整数进行约束,使其不能是(完美)平方数?
我有:
square(Square):- N#>0, Square #= N*N.
Run Code Online (Sandbox Code Playgroud)
我该如何定义 notsquare(Notsquare):- ...
我的第一个想法是拥有P*P =Q*Q*Notsquare和Remainder #>0, Remainder #= P rem Q.
但是P和Q需要能够是非整数,所以这不起作用.
关于什么
notSquare(S):- N #> 0, R #>0, R #< 2*N+1, S #= N*N+R.
Run Code Online (Sandbox Code Playgroud)
?
应该工作S > 0; 如果你也需要使用负数,我想你可以修改它
notSquare(S):- S #> 0, N #> 0, R #>0, R #< 2*N+1, S #= N*N+R.
notSquare(S):- S #< 0, SM #= -S, notSquare(SM).
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
173 次 |
| 最近记录: |