管理员 萨卡 发布于十一月 19, 2021 管理员 分享 发布于十一月 19, 2021 2 小时前, jas 说道: IF条件只有等于零,没有大于/小于零?貌似只能一个个数~ a=input() assert(a>=2) b=2 i=1 while true: if a - i * b == 0: # 能整除,当前的b即为所求的q return b for j in range(1,b): if a - i * b - j == 0: # 不能整除, 检查下一个b值 b++ i=0 continue else: # i不够大,除法没模拟完 i++ 有点乱。。。基本就一个if和一个循环不就够了么。。。 链接到点评
管理员 萨卡 发布于十一月 20, 2021 管理员 分享 发布于十一月 20, 2021 1 小时前, 921836774 说道: 假设数字n的地址是[N] 假设MOVE RA RB的意思为将RB的值对滴RA 假设SUB/MUL/ADD RA RB的意思是计算相应的四则运算,并将结果存放在RB中 他这只是学习用的假设指令。。寄存器只有A和B 没有任何其他质量因为指望直接用JUMPIFZERO. 而JUMPIFZERO只检查上个+-*的结果是不是0, 没有任何其他东西了. k是行数,估计把output放最后一行就到那结束 链接到点评
管理员 萨卡 发布于十一月 20, 2021 管理员 分享 发布于十一月 20, 2021 1 小时前, 921836774 说道: 他是有MOVE指令的 没说只有AB两个寄存器吧 然后只有+-* ,能求出最小因子吗 因为只有MOVEA和MOVEB是写入寄存器AB的,MOVE只是复制内存位置的值不是寄存器。 没除法所以只能通过n-i*q==0了,前面算后如果是0 JUMPIFZERO就会转跳。。基本就这样了 链接到点评
推荐贴