2016-12-30 6 views
0

は、私は興味深い質問を越えてくると、私は別の人で近づくことになるかを確認するために、それを議論したい:コンピューティングの先行および後続

nは自然数とすると、タスクは、機能を実装することですfよう

f(n) = n + 1 if 2 divides n 
f(n) = n - 1 if 2 does not divide n 

条件:実装は使用してはならない条件構造


私の答えは、あなたが行うことができf(n) = n xor 1

+0

「私は興味深い質問をしてきました」「仕事は」です私は[問題]を議論したいと思います。あなたは整数の2進数表現に基づいたアプローチを提示しています[Keyvan ](http://stackoverflow.com/a/41403061/3789665)算術演算子に基づいています。あなたが議論したいと思うものを指摘してください。可能であれば、可能な限り質問に答えてください。 – greybeard

+0

問題を解決するためのさまざまな方法について議論したいと思います。あなたは私のアプローチを見ましたか?それをどうやって解決するか考えていますか? –

+0

'[どういうアイデアなのですか]それをどうやって解決するのですか?追加の情報や説明を求めるコメントはコメントしないでください。 「私の考え方を見たか@計湾のアプローチ」算術演算子に基づくキーバンの積分値の一般的な2進表現に基づいてアプローチを提示するとどうでしょうか?どのように私はそれらを見ていない両方を記述することができますか? – greybeard

答えて

1

です:

f(n) = n + 1 - 2 * (n % 2) 

(n % 2) == 0ので2がnので、f(n) = n + 1 - 2 = n - 1

を分割しない場合、2は nので、 f(n) = n + 1 - 0

(n % 2) == 1を分割した場合

関連する問題