#include <stdio.h>
#include <math.h>
#include <string.h>
void Dec2Binary( unsigned __int64 nNum );
char *h1(char *arr)
{
char *k;
if(arr[0] == 'A')
k = "100";
else if(arr[0] == 'B')
k = "101";
else if(arr[0] == 'C')
k = "110";
return k;
}
char *h2(char *arr)
{
char *k;
if(arr[1] == '0')
k = "000";
else if(arr[1] == '1')
k = "001";
else if(arr[1] == '2')
k = "010";
else if(arr[1] == '3')
k = "011";
else if(arr[1] == '4')
k = "100";
else if(arr[1] == '5')
k = "101";
else if(arr[1] == '6')
k = "110";
else if(arr[1] == '7')
k = "111";
return k;
}
int p1(char *arr)
{
if(arr[2] - '0' == 0 )
return 0;
else if(arr[2] - '0' == 1 )
return 1;
}
int p2(char *arr)
{
if(arr[1] - '0' == 0 )
return 0;
else if(arr[1] - '0' == 1 )
return 2;
}
int p3(char *arr)
{
if(arr[0] - '0' == 0 )
return 0;
else if(arr[0] - '0' == 1 )
return 4;
}
int p4(char *arr)
{
if(arr[2] - '0' == 0 )
return 0;
else if(arr[2] - '0' == 1 )
return 8;
}
int p5(char *arr)
{
if(arr[1] - '0' == 0 )
return 0;
else if(arr[1] - '0' == 1 )
return 16;
}
void main()
{
int i;
char *temp1 = '\0',*temp2 = '\0';
char arr[24][8]= {
"A0","A1","A2","A3","A4","A5","A6","A7",
"B0","B1","B2","B3","B4","B5","B6","B7",
"C0","C1","C2","C3","C4","C5","C6","C7"};
printf("k h(k) p=1 2 3 4 5\n");
for(i=0; i<24;i++)
{
temp1 = h1(arr[i]);
temp2 = h2(arr[i]);
printf("%s %s %s %3d %3d %3d %3d %3d\n", arr[i], temp1, temp2, p1(temp2), p1(temp2)+p2(temp2), p1(temp2)+p2(temp2)+p3(temp2), p1(temp2)+p2(temp2)+p3(temp2)+p4(temp1), p1(temp2)+p2(temp2)+p3(temp2)+p4(temp1)+p5(temp1));
}
}
'IT' 카테고리의 다른 글
위너트리하고싶다 . c (0) | 2014.05.14 |
---|---|
뭔진 모르지만 그냥 정렬 (0) | 2014.05.14 |
뭔진 모르겠지만 무슨 정렬 (0) | 2014.05.14 |
HASH 3 // HASH 1이랑 뭐가 다른지 잘 모르겠음 (0) | 2014.05.14 |
HASH1 //뭔가 수정을 했는데, 수정한 파일은 남아있지않네 ;; (0) | 2014.05.14 |