一个简单的表达式问题

foreverghost 2009-07-17 10:08:15
例:用一个表达式实现0,1循环。
解:|X-1|,即X-1的绝对值,传入是0,则返回1,传入是1,则返回0。代码可简单记为:abs(x-1)
我现在想实现0,1,2循环,即传入0返回1,传入1返回2,传入2返回0,用表达式实现。
另:我例子中的0,1循环不是最好的解,我记得还有一个不用绝对值也能实现的方法,也希望高手指点。
...全文
43 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
foreverghost 2009-07-17
  • 打赏
  • 举报
回复
谢谢,LCL_data
是我要的正解。。非常感谢。。

caozhy:我没有说要写在一行,我只说要表达式实现,你可以再好好学学什么叫表达式。
threenewbee 2009-07-17
  • 打赏
  • 举报
回复
p.s. 不要觉得写在一行里面的才叫表达式。理论上任何一个程序,都可以写成一个布尔表达式,无论程序多么复杂。
threenewbee 2009-07-17
  • 打赏
  • 举报
回复
(x + 1) mod 3
十八道胡同 2009-07-17
  • 打赏
  • 举报
回复
0,1,2时
max=2
n=0 (n+1)%(max+1)=1%3=1;
n=1 ... =2%3=2
n=2 =3%3=0;
十八道胡同 2009-07-17
  • 打赏
  • 举报
回复
[Quote=引用楼主 foreverghost 的回复:]
我现在想实现0,1,2循环,即传入0返回1,传入1返回2,传入2返回0,用表达式实现。

[/Quote]

确定最大值为max 传入 n 返回 (n+1)%(max+1)
threenewbee 2009-07-17
  • 打赏
  • 举报
回复
整除取余数,然后分支输出。

function getvar(x as integer) as integer
dim t as integer = x mod 3
if t = 0 then return 0 elseif t = 1 then return 2 elseif t = 2 then return 0
end function

16,721

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧