【问题标题】:how do i check even or odd in postscript我如何检查后记中的偶数或奇数
【发布时间】:2014-09-07 21:52:09
【问题描述】:

我正在尝试检查堆栈顶部的数字是偶数还是奇数,而不影响我的堆栈,因为我在递归函数中使用它。我也尝试过双重弹出,但这段代码仍然把函数弄乱了。

dup 2 0 mod eq 
{ 0 0 0 setrgpcolor}
{0.6 0.6 0.6 setrgpcolor}ifelse
pop 

【问题讨论】:

    标签: math stack postscript modulus


    【解决方案1】:

    你弄错了参数的顺序。一步一步(假设栈顶号为123):

    123
    dup 2 0 mod eq
    

    dup:

    123 123 2 0 mod eq
    

    2 0 上执行mod (!)

    123 123 --undefined-- eq
    

    eq 太少了,太晚了......

    交换两个操作数以获得正确的结果:

    dup 2 mod 0 eq
    { .. number is even ..}
    { .. number is odd ..} ifelse
    

    (注意: setrgpcolor 是错字吗,还是真的有这样命名的颜色模型?)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-04-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多