SRM454 Div1 Easy(250) DoubleXor
問題文の通りに計算するだけ。
class DoubleXor { public: int calculate( int N ); int dxor( int a, int b ); }; int DoubleXor::calculate( int N ) { int ans = N; for ( int i=N-1; i>0; i-- ) ans = dxor( ans, i ); return ans; } int DoubleXor::dxor( int a, int b ) { int c = 0; int t = 1; while ( a > 0 || b > 0 ) { c += ( a%10 ^ b%10 ) % 10 * t; a /= 10; b /= 10; t *= 10; } return c; }