解いた問題

7/12/2011

SRM454 Div1 Easy

250

inline
int double_xor(int a, int b)
{
  int c = 0;
  int w = 1;
  while( a || b ){
    int ai = a % 10;
    int bi = b % 10;
    c += w * ((ai ^ bi) % 10);
    w *= 10;
    a /= 10;
    b /= 10;
  }
  return c;
}

class DoubleXor {
public:
  int calculate(int N) {
    for(int i=N-1; i; --i){
      N = double_xor(N, i);
    }
    return N;
  }
};

0 件のコメント :

コメントを投稿