Scheme 更改标志

Scheme 更改标志,scheme,racket,Scheme,Racket,在方案中,我有代码 (* -1(expt -1 k) 它将符号从-和+中交替出来,我只是想知道是否有另一种方法可以做到这一点,没有指数符号,可能有模 (*-1(expt-1k))对于奇数值将产生-1的效果,对于偶数值将产生1的效果。您可以将以下内容替换为: (if (odd? k) -1 1) 这一点的好处在于,我几乎准确地解释了另一个在数学上的实际作用 此外,不需要执行(*-1值)即可获得负值。只需执行(-value),即(-0 value) (*-1(expt-1k))对于奇数值将产生-

在方案中,我有代码

(* -1(expt -1 k)
它将符号从
-
+
中交替出来,我只是想知道是否有另一种方法可以做到这一点,没有指数符号,可能有模

(*-1(expt-1k))
对于奇数值将产生
-1
的效果,对于偶数值将产生
1
的效果。您可以将以下内容替换为:

(if (odd? k) -1 1)
这一点的好处在于,我几乎准确地解释了另一个在数学上的实际作用

此外,不需要执行
(*-1值)
即可获得负值。只需执行
(-value)
,即
(-0 value)

(*-1(expt-1k))
对于奇数值将产生
-1
的效果,对于偶数值将产生
1
的效果。您可以将以下内容替换为:

(if (odd? k) -1 1)
这一点的好处在于,我几乎准确地解释了另一个在数学上的实际作用


此外,不需要执行
(*-1值)
即可获得负值。只需执行
(-value)
,即
(-0 value)

什么是奇数?do@Joe
odd?
是一个标准的谓词过程,如果数字是奇数,则返回
#t
,例如
1,3,5,7,
您可能知道如何使用模来实现这一点,只是想知道您的意思是
(定义(我的奇数?v)(=(模v2)1))
?知道模运算需要进行除法运算。更快的方法是
(定义(我的奇数?v)(=(按位和v1)1))
什么是
奇数?
do@Joe
odd?
是一个标准的谓词过程,如果数字是奇数,则返回
#t
,例如
1,3,5,7,
您可能知道如何使用模来实现这一点,只是想知道您的意思是
(定义(我的奇数?v)(=(模v2)1))
?知道模运算需要进行除法运算。更快的方法是
(定义(我的奇数?v)(=(按位和v1)1))