본문 바로가기

KKOMZI

숫자 마술트릭 증명( 1089 )

최현우의 마술 eBook(그녀 마음 훔치기 10분 전 (마술 편)을 우연히 구매하게 되어서 보던 중에

 

트릭 중에 한가지가 숫자에 관한 트릭이 있길래 증명해 보고자 지난 금요일부터 머리좀 싸매봄..

 

   // 시나리오 : 숫자 마술(트릭) => 항상 결과는 1089
   // 1. 백단위의 세자리 숫자를 생각한다
   // 2. 원래 세자리 숫자와 거꾸로 한 숫자 중에서 큰 값에서 작은값을 뺀다
   // 3. 결과값과 결과값을 거꾸로 한 숫자를 서로 더한다.


   // 아래 소스에서 r 이 붙은 변수명은 순서가 뒤집혀진 숫자임.
 

   int x1 = 8;            // 첫째자리
   int x2 = 9;            // 두째자리
   int x3 = 0;            // 셋째자리
   int x = (x1 * 100) + (x2 * 10) + (x3 * 1);    // 처음 생각한 3자리 숫자
   int xr = (x3 * 100) + (x2 * 10) + (x1 * 1);    // 뒤집은 수
   int y = Math.Abs(x - xr);        // 차이
   y = (x1 * 99) + (x2 * 0) - (x3 * 99);     // 차이1
   y = (x3 * 99) + (x2 * 0) - (x1 * 99);     // 차이2
   y = Math.Abs(x1 - x3) * 99;        // 첫째자리와 셋째자리의 차이의 99 배

   int n = Math.Abs(x1 - x3);
   y = n * 99;
   y = (n * 100) - n;
   y = ((n - 1) * 100) + (9 * 10) + ((10 - n) * 1); // n백이라는 숫자에서 n 를 빼면 (n 는 한자리의 수이므로) => 백의 자리는 n-1, 십의 자리는 9, 일의 자리는 10-n ( 여기가 가장 중요 포인트 )
   int yr = ((10 - n) * 100) + (9 * 10) + ((n - 1) * 1);
   int z = y + yr;
   z = ((n - 1 + 10 - n) * 100) + (9 * 20) + ((10 - n + n - 1) * 1);
   z = (9 * 100) + (180) + (9 * 1);
   z = 1089;

'KKOMZI' 카테고리의 다른 글

인터파크 소셜 서비스  (0) 2012.02.07
커피용품 쇼핑중...  (0) 2011.03.28
블로그 이전 하다  (0) 2010.09.06
S200EXR 구매  (0) 2010.04.14
이벤트 당첨 기념... 기념은 기념일뿐...  (1) 2009.09.07