poj3748

简单题

printf("%x", d) 十六进制
View Code
#include <iostream>
#include 
<cstdio>
#include 
<cstdlib>
#include 
<cstring>
using namespace std;

int r, x, y;

int main()
{
    
//freopen("t.txt", "r", stdin);
    scanf("%x,%d,%d"&r, &x, &y);
    
int a = 1;
    
if ((a << x) & r)
        r 
-= a << x;
    
if ((a << (y - 2)) & r)
        r 
-= a << (y - 2);
    
if (!((a << (y - 1)) & r))
        r 
+= a << (y - 1);
    
if (!((a << y) & r))
        r 
+= a << y;
    printf(
"%x\n", r);
    
return 0;
}
posted @ 2011-07-13 20:26  金海峰  阅读(142)  评论(0编辑  收藏  举报