转跳到内容

又来问作业了(计算机相关)


TXPH

只显示该作者

只有该作者的内容显示中。 返回到主题

推荐贴

  • 管理员
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和一个循环不就够了么。。。

链接到点评
  • 管理员
1 小时前, 921836774 说道:

假设数字n的地址是[N]

假设MOVE RA RB的意思为将RB的值对滴RA

假设SUB/MUL/ADD RA RB的意思是计算相应的四则运算,并将结果存放在RB中

他这只是学习用的假设指令。。寄存器只有A和B

没有任何其他质量因为指望直接用JUMPIFZERO. 而JUMPIFZERO只检查上个+-*的结果是不是0, 没有任何其他东西了.

k是行数,估计把output放最后一行就到那结束

链接到点评
  • 管理员
1 小时前, 921836774 说道:

他是有MOVE指令的 没说只有AB两个寄存器吧 然后只有+-* ,能求出最小因子吗

因为只有MOVEA和MOVEB是写入寄存器AB的,MOVE只是复制内存位置的值不是寄存器。

没除法所以只能通过n-i*q==0了,前面算后如果是0 JUMPIFZERO就会转跳。。基本就这样了

链接到点评
  • 骚男锁定了本主题
游客
此主题已关闭。
×
×
  • 新建...

重要消息

为使您更好地使用该站点,请仔细阅读以下内容: 使用条款