1619, 1/81 ȸ¿ø°¡ÀÔ  ·Î±×ÀΠ 
   ¿ì´À´Ô
   [ÀÚÀÛ] C¾ð¾î War Game Release 04.01 < Solution > 16Áø¼ö

http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=1985 [º¹»ç]


#include <stdio.h>

int main()
{
        int sum = 0;        // ÃÑ ÇÕ
        char ch;                // ÀԷ¹ÞÀº ¹®ÀÚ
        char hex[] = "0123456789ABCDEF";
        int mask = 0xf;        // ( 0000 0000 0000 0000 0000 0000 0000 1111 = 0xf )
        int masked_num;        // & ¿¬»ê ÈÄ °á°ú °ª
        int cnt = 0;                // Ä«¿îÅÍ

        do{
                ch = getchar();                        // ¹®ÀÚ ÀԷ¹ްí
                if( ch >= '0' && ch <= '9')        // ¼ýÀÚÀ̸é
                {
                        sum += ch - '0';        // ÇÕÀ» ±¸ÇÑ´Ù
                }
        }while( ch != '\n');        // ³Î¹®ÀÚÀÌ¸é ·çÇÁ ²ý

        do{
                cnt++;        // Ä«¿îÆÃ
                sum = ( sum << 4 ) | ( sum >> 28 );        
                                // 32ºñÆ®ÀÇ ¾ÕÂÊ 4ºñÆ®¸¦ ·ÎÅ×ÀÌÆ® ½ÃÄѼ­ µÚÂÊ 4ºñÆ®·Î ¿Å±ä´Ù.

                masked_num = sum & mask;        
                                // ¾ÕÂÊ¿¡¼­ºÎÅÍ 4ºñÆ®¾¿ ²ø¾î¿Í¼­ ºñÆ®¸¦ È®ÀÎ ÇÑ ÈÄ,

                putchar(hex[masked_num]);        
                                // ÇØ´çÇÏ´Â ¼ýÀÚ¸¦ Ãâ·ÂÇÑ´Ù.
        }while( cnt < 8 );

        putchar('\n');
}

À̰ÍÀº ÇÕÀ» 16Áø¼ö·Î Ãâ·ÂÇÏ´Â ¼Ò½º ÀÔ´Ï´Ù.

  Hit : 8463     Date : 2012/04/11 04:09