首页 文章

如何检查从未遇到过的情况?

提问于
浏览
1

举一个例子来说明,比方说我有一个程序,它接收来自用户的两个输入,a和b . 程序递增a和递减b . 程序返回a和b都相等的值 . 因此,a必须更小,b必须更大 . 但是,如果用户输入相反的内容呢? a更大,b更小?该程序显然会进入无限循环 . 但是假设我希望程序返回“这两个数字永远不会满足” . 那我该如何检查呢?请不要回答检查数字并分别作出回应 . 这只是一个例子 . 我想知道如何检查一个永远无法满足的条件 .

另一个例子,比较两个数字 . 假设我有两个数字并且我随机随机化它们 . 程序应该在它们相等时返回true而在它们不相同时返回false . 当数字不相等时,它不应该进入无限循环 . 我只能继续比较每次迭代中的数字,并在它们相等时立即返回true . 但是很可能他们永远不会变得平等而程序永远不会终止 . 如何检查这样的场景并返回类似数字的东西永远不会相等 .

2 回答

  • -1

    必须根据具体情况进行;一般问题(给定由变量条件控制的迭代过程,确定条件是否会假定给定值,例如True)等同于停止问题,这是不可计算的...

  • 1

    一个简单的if语句,像这样?

    if (a <= b)
      throw "Condition cannot be met"
    else
        for ( ; a != b; a--, b++) {
            // Do something
        }
    

    c中的示例

    EDIT 我的A和B错了!但情况相同 .

相关问题