学校でやった勉強会でこんなのがあった。
Q.一時変数を使わずに、値を入れ替える関数を書いてください。
これはどっかでみて、xorを使うとだけ覚えていた。(a, bは変数全体 A, Bはビットが立っていることを示す)
ソース
#include<iostream>
using namespace std;
int main(){
int a, b;
cin >> a >> b;
b ^= a;
a ^= b;
b ^= a;
cout << a << ' ' << b << endl;
return 0;
}
xorを知らなかったら、できなかっただろうなぁ
0 件のコメント:
コメントを投稿