找回密码
 立即注册

QQ登录

只需一步,快速开始

xiaobai

论坛元老

7

主题

31

帖子

7247

积分

论坛元老

积分
7247

活字格认证

最新发帖
xiaobai
论坛元老   /  发表于:2014-3-25 20:40  /   查看:8272  /  回复:8
1.函数参数可以是函数吗?如:sqrt(pow(1,2))   sin(sum([mod(1,2),3,3*4]))
2.表达式中的正负数是否一定要括住?如:1+2-(-3)  还是这样 1+2--3也行
3.x mod y ,中的x,y是表达式,还是一个数字常数?如:pow(1,2)+3^4 mod 3*4 mod 2
4.函数和括参数的圆括号之间可以有空格吗?如:sqrt  (1)

8 个回复

倒序浏览
xiaobai
论坛元老   /  发表于:2014-3-25 20:48:00
沙发
不好意思再补充一个问题:
对计算后的结果的精度有要求吗?如:java中 Math.sin(d),d是弧度,我们要求的是角度,当把角度转化为弧度会有小误差,导致我的 sin(30)=0.499......这个结果要求处理吗?还是这样可以
回复 使用道具 举报
daodao
论坛元老   /  发表于:2014-3-25 22:09:00
板凳
我说说俺的理解,非官方,期待官方解答
因为我是按照以Matlab为目标来编写的程序,所以,我认为
1.函数参数应该是可以出现函数的;
2.括住时才当正常表达式来处理;
3. x mod y的x和y除了可能是数字常数,还可能是非常复杂的表达式;
4. 参赛题目中说的是“除了数值常量中间,函数名中间,操作符中间不允许存在空格字符之外,表达式的任意位置可以出现任意数量的空格字符”,我想函数名和括弧参数之间的空格应该在允许范围内的吧?

然后我也想顺便问一下,当输入表达式出现这些不允许的空格时,我的程序是不是应该及时报错,而不将错就错,如果表达式能计算就不理会?
比如:
“1 2+3-4 5   6”数值常量之间出现了这些空格,但是可以将错处理成“12+3-456”
回复 使用道具 举报
xiaobai
论坛元老   /  发表于:2014-3-25 22:29:00
地板
回复 3楼daodao的帖子

首先很感谢你的回答,
然后我觉得数值常数间的空格被认为是错误的,所以就不能继续了
回复 使用道具 举报
Leo
超级版主   /  发表于:2014-3-26 08:52:00
5#
回复 4楼xiaobai的帖子

我们题目本身简单的把数值常量中间的空格认为是非法表达式,但是不反对选手做各种宽松的容错处理。
回复 使用道具 举报
Leo
超级版主   /  发表于:2014-3-26 09:04:00
6#
回复 2楼xiaobai的帖子

有精力还是处理一下,当然不是必选。首先你需要保证在提交日期之前,作品是能够正常工作的,哪怕某些运算是有误差的。
你转换角度为弧度的时候,用的PI值是多少位精度的?
回复 使用道具 举报
Leo
超级版主   /  发表于:2014-3-26 09:13:00
7#
回复 1楼xiaobai的帖子

关于2,正负数不一定要括住。至于能否解析,以及如何解析。请选手自主选择。比如规定一些运算符号的结合性,把1+2--3认为是1 + 2 - (-3)也未尝不可。
关于3,x,y可以是表达式,表达式的结果将做为外层函数参数的值。当然,之前我们提到了一些运算符的优先级问题.
关于4 可以有空格。
回复 使用道具 举报
xiaobai
论坛元老   /  发表于:2014-3-26 16:50:00
8#
回复 7楼Leo的帖子

谢谢你的回答
请问西电新校区什么时候安排宣讲
回复 使用道具 举报
Leo
超级版主   /  发表于:2014-3-26 23:38:00
9#
回复 8楼xiaobai的帖子

据说可能安排在四月一号,具体请关注网站通知
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部