【发布时间】:2018-11-06 07:06:28
【问题描述】:
给你两个正整数a和b。 您可以多次执行该操作。 操作是: 选择任何正整数 d
1.将d添加到a,将d-1添加到b。 或者 2.a加d-1,b加d。
是否有任何两个正整数 a 和 b 不能通过上述操作变得相等? 感谢您的帮助。
【问题讨论】:
-
既然你得到了答案,我只是想让你知道,你想写的代码逻辑也很简单。
-
vivek_23 是的,我已经编写了代码逻辑,并为测试用例生成了一个文件,想知道为什么它对所有输入都给出“可能”哈哈。假设我不知道这总是可能的,那么最优化的代码会告诉我对于任何给定的两个数字是否可能?
-
最优化的代码本身就是最直观的。请在此处查看code。既然你说的是 2 个
positive整数,那么总是可以从较大的整数中删除1,并将较小的整数增加d。当然,他们会见面的。 -
我的代码假定
d在过程中间不能更改,因为您的问题陈述没有明确说明。 -
我们可以在每次操作的时候改变d。是的,这与我的代码相似,我也取了一个固定值 d。另外,我们的两个代码都存在一个问题,如果 a 不等于 b,即使在多次添加 d 之后,循环也不会终止。代码本身假设我们知道最终我们将能够使 a=b 并且它将终止。所以我们事先知道答案。如果循环运行了无限时间,则意味着不可能使 a 等于 b。但是我们没有无限的时间来解决这个问题,我们需要一个代码来告诉我们是否可能。
标签: algorithm math numbers combinatorics number-theory