(퀴즈)1부터9까지의 숫자를 써서 N을 만드는 연산방법(전편)

[목차(도우미)]
How can we make the numbers 1,2,3,4,5,6,7,8,9 be N(100n) by arithmatic operation? (Part I)
1~9 숫자를 나열하고 기호를 넣어서 N(100n)이 되는 연산 방법은 몇가지일까?

즉 1+2+3+4+5+6+7+8*9= N 처럼 1부터 9까지의 숫자를 한번씩만 써서 연산결과가 N이되도록 만드는 것이 몇가지가 있을까? 여기서 N은 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000의 수를 가리킨다.

사용하는 연산은 + - * / (사칙연산), ^(지수), " "(붙이기 즉 1 2 는 12의 의미), 괄호는 비허용

1부터9까지의 숫자를 써서 100을 만드는 연산방법

이전에 100을 만드는 방법을 이미 소개하였다.
결과는 156가지가 존재한다.

자세한 것은 (퀴즈)1부터9까지의 숫자를 써서 100을 만드는 연산방법
을 참조하기 바란다. 이미 계산 프로그램을 만들어 두었으므로 이번 계산을 간단히 할 수 있지만, 수작업으로 계산한다면 상당히 수고와 어려운 작업이 될것이다.

1부터9까지의 숫자를 써서 200을 만드는 연산방법

이전에 계산한 프로그램을 조금씩 바꾸어 결과가 200, 300, 400, ..., 1000이 되도록 변경하여 계산해 보았다. 다분히 흥미위주의 계산이다. 1997년경에 계산한 바로는 Visual C/C++로 계산하여 10분 정도 걸렸는데 이번에는 Xcode에서 Objective-C에서 계산하였다. 소스상의 변경은 없었고 단지 컴파일러가 바뀌고 컴퓨터가 바뀐 것 뿐이다. 정확한 시간은 측정하지 않았지만 대략 1초 걸렸다. 이런 컴퓨터의 연산 속도의 발전은 가히 경이적이다.

결과는 57가지가 존재한다.

Simple 200 making caculation
  1th 1+2-3+4*5 6-7-8-9= 200
  2th 1+2-3*4+5*6*7+8-9= 200
  3th 1+2*3*4 5-6+7-8*9= 200
  4th 1+2*3*4 5-6-7*8-9= 200
  5th 1+2 3+4*5+6 7+8 9= 200
(중간생략)
 55th 1^2 3*4*5 6-7-8-9= 200
 56th 1^2^3+4*5*6+7+8*9= 200
 57th 1^2^3*4*5 6-7-8-9= 200

(예쁜 꽃을 한 번 보고 골치아픈 머리를 식혀 주세요)

1부터9까지의 숫자를 써서 300을 만드는 연산방법

결과는 39가지가 존재한다. 200을 만드는 방법에 비해서 가짓수가 줄어 들었다.

Simple 300 making caculation
  1th 1+2+3+4 5*6+7+8+9= 300
  2th 1+2+3 4+5*6 7-8*9= 300
  3th 1+2-3-4 5+6*7*8+9= 300
  4th 1+2*3+4*5 6+7 8-9= 300
  5th 1+2*3 4*5+6-7*8+9= 300
(중간생략)
 37th 1^2^3-4+5 6*7-8 9= 300
 38th 1^2^3 4+5*6*7+8 9= 300
 39th 1^2^3^4+5*6*7+8 9= 300

1부터9까지의 숫자를 써서 400을 만드는 연산방법

결과는 40가지가 존재한다. 300을 만드는 방법보다 가짓수가 줄어들 것으로 예상하였지만 근소한 차이로 같았다.

Simple 400 making caculation
  1th 1+2+3 4*5*6-7*8 9= 400
  2th 1+2+3 4 5+6*7 8/9= 400
  3th 1+2-3*4+5 6*7+8+9= 400
  4th 1+2-3^4+5 6 7-8 9= 400
  5th 1+2*3*4+5 6*7-8-9= 400
(중간생략)
 38th 1^2*3^4*5+6 7-8*9= 400
 39th 1^2 3-4*5 6+7*8 9= 400
 40th 1^2^3-4*5 6+7*8 9= 400


1부터9까지의 숫자를 써서 500을 만드는 연산방법

결과는 46가지가 존재한다. 400을 만드는 방법보다 가짓수가 증가하였다. 가짓수에는 일정한 경향이 없어 보인다.

Simple 500 making caculation
  1th 1+2+3 4*5+6*7*8-9= 500
  2th 1+2-3-4+5 6 7*8/9= 500
  3th 1+2-3-4 5+6 7*8+9= 500
  4th 1+2*3/4*5 6*7-8 9= 500
  5th 1+2 3+4-5+6*7 8+9= 500
(중간생략)
 44th 1^2 3-4+5-6+7*8*9= 500
 45th 1^2^3+4+5 6 7-8*9= 500
 46th 1^2^3-4+5-6+7*8*9= 500

600부터 1000을 만드는 연산방법은 후편에서 계속됩니다.
If questions, leave a comment please.
by 금메달.아빠 on 2010. 12. 14. 01:17