编写一个程序,要求用户输入2个数字。程序然后向屏幕(OUT)显示将第二数字除以第一数字的余数(模数)的结果。例如,如果第一输入的号码14和第二输入的号码5,则程序将显示4.关于小人电脑除数(模数)分数
14模5 = 14 - (2 * 5)= 14 - 10 = 4
14国防部7 = 14 - (2 * 7)= 14 - 14 = 0
你可以假设输入的号码总是正数且大于0
你好,这是我不知道如何的问题开始这个问题/做它?
编写一个程序,要求用户输入2个数字。程序然后向屏幕(OUT)显示将第二数字除以第一数字的余数(模数)的结果。例如,如果第一输入的号码14和第二输入的号码5,则程序将显示4.关于小人电脑除数(模数)分数
14模5 = 14 - (2 * 5)= 14 - 10 = 4
14国防部7 = 14 - (2 * 7)= 14 - 14 = 0
你可以假设输入的号码总是正数且大于0
你好,这是我不知道如何的问题开始这个问题/做它?
这只是简单的算术题 - 让x = m MOD n
你可以这样做:
x = m/n ; integer division (truncates)
x = x * n ; multiply back up to get exact multiple
x = m - x ; subtract to get remainder (modulus)
由于小文不仅具有ADD和SUB运算指令,你需要从基本原理实现乘除运算。
在这里,我们去你必须解决这个使用减法方法的分裂问题..它的作品恰好你的问题寻找两个数字划分提醒...
// PRODEUCED由James卡纳尔
INP //询问用户
BRZ QUIT //停止执行,如果输入零
STA股息//存储在股息可变
INP //输入分隔符
BRZ QUIT //在输入零时停止执行
01在除法器可变LDA股息//负载
STA DIVIDOR //存储到ACC
LOOP STA RESULT //存储临时结果
LDA RESULT //加载结果
SUB DIVIDOR //将分隔符减去acc
BRP LOOP //循环如果acc为正数或零
LDA RESULT //结果加载到ACC
OUT //显示结果
QUIT HLT //停止如果BRZ
HLT // HLT执行
股息DAT //声明可变
除数DAT //声明变量
您可以通过减去第一个第二个数字,直到你解决这个摹等负数。这里有一个工作版本:
INP
STA R0
INP
STA R1
LDA R0
L0 STA R0
SUB R1
BRP L0
LDA R0
OUT
HLT
R0 DAT
R1 DAT
你可以看到这方面的工作在这里:Modulo operation on LMC emulator.
嗨,这意味着要小男人计算机上完成与被小个子计算机上使用的操作码。你知道吗? – Karan
当然 - 你有算术的ADD和SUB指令,所以应该是你需要实现上面的伪代码。 –
这实际上是我需要帮助,因为我不知道什么操作码以什么方式使用,但没关系生病尝试它谢谢。 – Karan