?高分求算法? ( 积分: 200 )

  • 主题发起人 liyonggang
  • 开始时间
L

liyonggang

Unregistered / Unconfirmed
GUEST, unregistred user!
我想写一个小学一年级数学随机出题器:
由于小学没学过负数,所以减数与被减数的差不能为负,如果为负则减数与被减数位置对调。比如若出现“ 2-5=” 则自动变为“ 5-2= ”;
再如 “3+3-7=” 则变为“3+7-3=”......
如何实现?谢谢!
 
L

liyonggang

Unregistered / Unconfirmed
GUEST, unregistred user!
我想写一个小学一年级数学随机出题器:
由于小学没学过负数,所以减数与被减数的差不能为负,如果为负则减数与被减数位置对调。比如若出现“ 2-5=” 则自动变为“ 5-2= ”;
再如 “3+3-7=” 则变为“3+7-3=”......
如何实现?谢谢!
 
H

hotboys

Unregistered / Unconfirmed
GUEST, unregistred user!
想想再说
 
Y

yahle

Unregistered / Unconfirmed
GUEST, unregistred user!
很简单啊,再产生随机数后自己检查一下,当答案为负数的时候重新生成
如果是多位加减法运算,那就先生成加号的数量,再生成减号的数量就可以了
 
L

liyonggang

Unregistered / Unconfirmed
GUEST, unregistred user!
最好能给几行代码参考一下,谢谢!
 
Y

yostgxf

Unregistered / Unconfirmed
GUEST, unregistred user!
以前相关帖子很多,你参考一下
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1307891
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1148357
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1458563
 
M

missinwind

Unregistered / Unconfirmed
GUEST, unregistred user!
补充一点,数据对调时,只需将减号右边的数与一个加号右边的数对调就行了。
 

暗月

Unregistered / Unconfirmed
GUEST, unregistred user!
to yostgxf,
这个问题好像不需要解析数学表达式这么复杂吧?

只需要设计一个数据结构,然后随机生成,然后检查调整就行了。
 
A

arnew

Unregistered / Unconfirmed
GUEST, unregistred user!
其实问题这样考虑不就简单了:
为什么会出现负数,就是因为被减数比减数大,那么这个时候要确保
是正数,只要把加号和减号对调一下就搞定了!
可否?!
应该是符合要求的。
 
L

liyonggang

Unregistered / Unconfirmed
GUEST, unregistred user!
有点朦胧!
 
L

liyonggang

Unregistered / Unconfirmed
GUEST, unregistred user!
我觉得yahle说的也许可行,想看看代码,谁能给出一点就好了!
 
A

arnew

Unregistered / Unconfirmed
GUEST, unregistred user!
如 “3+3-7=” 则变为
“3-3+7=…………”
就是把减号变为加号,加号变为减号,得出的数肯定是大于等于零。
从理论上解释就是:A-b-c-d+d=f,f为负数或者零,
当出现这个情况,就在左边和右边同时加一个负号,那么右边肯定是大于负数的值,
同时,等号也是成立的。
 

Similar threads

S
回复
0
查看
942
SUNSTONE的Delphi笔记
S
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
760
SUNSTONE的Delphi笔记
S
S
回复
0
查看
916
SUNSTONE的Delphi笔记
S
顶部