我正在努力解决这个问题。 您应该在代码中不使用任何条件/循环返回不同的数字。
我的想法是,解决方案的方向可能是使用位操作?
答案 0 :(得分:1)
要确保第三个数字不同,可以通过获取已更改的原始数字的一部分来构成它。例如,如果数字是123和789,则可以取第一个数字的“2”,使其为“3”,将第二个数字设为“9”,并使其为“0”。将这两个连接起来得到“30”。这不能是第一个数字,因为倒数第二个数字是不同的,它不能是第二个数字,因为最后一个数字是不同的。
这可以在没有循环和ifs(假设整数运算)的情况下表达:
(a+10)/10%10*10 + (b+1)%10
答案 1 :(得分:1)
((a&1)|(b&2))^3
是0到3之间的数字,与第一位中的a
不同,并且与第二位中的b
不同。 (这使用C表示法:&
是按位的,|
是按位的,而^
是按位的xor。)
答案 2 :(得分:1)
如果两个给定的数字是:
你可以简单地回复:
abs(intput1) +abs(input2) +1
您需要致电abs()
以避免1 + (-1) +1 = 1