如何判断迭代运算中两个整数哪个最先降至0或负数
双整数迭代递减终止逻辑实现
核心实现规则:
- 初始化两个整数的初始值,以及每轮迭代对应的减法运算逻辑(即你标注的
equation部分,可根据业务需求设置为固定值,或绑定当前迭代轮次、当前整数数值的动态运算结果) - 每轮同步对两个整数执行减法更新,无需额外保留1a/1b这类中间变量,直接覆盖存储整数的当前值即可
- 每轮运算完成后立刻校验终止条件:当任意一个整数的值小于等于0时立刻终止循环,记录率先触发终止条件的整数标识
- 输出时所有小于等于0的结果统一展示为0,和要求的输出格式对齐
参考实现代码(Python):
# 替换为两个整数的实际初始值 int1 = 1234 int2 = 987 def calc_subtract_val(current_val: int, round_num: int) -> int: # 替换为你实际的equation运算逻辑,当前示例为每轮固定减17 return 17 current_round = 0 while True: current_round += 1 # 执行本轮减法运算 int1 -= calc_subtract_val(int1, current_round) int2 -= calc_subtract_val(int2, current_round) # 校验终止条件 if int1 <= 0 or int2 <= 0: break # 按指定格式输出 print(f"Integer 1 = {int1 if int1 > 0 else 0}") print(f"Integer 2 = {int2 if int2 > 0 else 0}")
补充说明:
- 如果两个整数对应的
equation运算逻辑不一致,分别为两个整数编写独立的运算逻辑即可,核心循环流程不需要改动 - 逻辑天然兼容你提到的「单次运算不会直接得到0」的前提,不需要额外增加首轮判断分支
- 如果需要额外输出率先归零/变负的整数标识,只需要在终止判断分支里记录对应标识即可
内容的提问来源于stack exchange,提问作者Gianni Kulle
相关产品推荐
相关产品推荐

