gpt4 book ai didi

prolog - Clpfd 不是平方数

转载 作者:行者123 更新时间:2023-12-01 23:15:47 26 4
gpt4 key购买 nike

是否可以对整数进行约束,使其不能是(完美)平方数?

我有:

square(Square):- N#>0, Square #= N*N.

如何定义 notsquare(Notsquare):- ...

我的第一个想法是有 P*P =Q*Q*NotsquareRemainder #>0, Remainder #= P rem Q。

但是 P 和 Q 需要能够是非整数,所以这不起作用。

最佳答案

怎么样

notSquare(S):- N #> 0, R #>0, R #< 2*N+1, S #= N*N+R.

如果 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).

关于prolog - Clpfd 不是平方数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39015669/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com