당신의 임무는 입력 n에서 각 숫자 1부터 n까지 의 최소 표현 을 순서대로 출력하는 프로그램을 작성하는 것 입니다. 바이트 단위의 최단 프로그램이 이깁니다.
최소 표현은 1과 더하기 및 곱셈을 결합하여 가능한 한 적은 수의 1을 사용하여 주어진 수를 얻습니다. 예를 들어 11 개로 23
표시되며 23=((1+1+1)(1+1)+1)(1+1+1)+1+1
최소값입니다.
요구 사항 :
- 프로그램은 양의 자연수 n을 입력으로 사용해야합니다.
- 출력은 다음 형식이어야합니다.
20 = ((1+1+1)(1+1+1)+1)(1+1)
- 출력에는과 같이 불필요한 괄호가 없을 수 있습니다
8 = ((1+1)(1+1))(1+1)
. - 곱셈 부호
*
는 선택 사항입니다. - 공백은 선택 사항입니다.
- 당신은 출력에 주어진 값에 대한 가능한 모든 방정식이없는 예를 들어, 당신은 출력 선택이
4=1+1+1+1
또는4=(1+1)(1+1)
. 두 가지를 모두 출력 할 필요는 없습니다. - 각 언어에서 가장 짧은 프로그램 (바이트)이 이깁니다.
1 = 1 2 = 1 + 1 3 = 1 + 1 + 1 4 = 1 + 1 + 1 + 1 5 = 1 + 1 + 1 + 1 + 1 6 = (1 + 1 + 1) (1 + 1) 7 = (1 + 1 + 1) (1 + 1) +1 8 = (1 + 1 + 1 + 1) (1 + 1) 9 = (1 + 1 + 1) (1 + 1 + 1) 10 = (1 + 1 + 1) (1 + 1 + 1) +1 11 = (1 + 1 + 1) (1 + 1 + 1) + 1 + 1 12 = (1 + 1 + 1) (1 + 1) (1 + 1) 13 = (1 + 1 + 1) (1 + 1) (1 + 1) +1 14 = ((1 + 1 + 1) (1 + 1) +1) (1 + 1) 15 = (1 + 1 + 1 + 1 + 1) (1 + 1 + 1) 16 = (1 + 1 + 1 + 1) (1 + 1) (1 + 1) 17 = (1 + 1 + 1 + 1) (1 + 1) (1 + 1) +1 18 = (1 + 1 + 1) (1 + 1 + 1) (1 + 1) 19 = (1 + 1 + 1) (1 + 1 + 1) (1 + 1) +1 20 = ((1 + 1 + 1) (1 + 1 + 1) +1) (1 + 1)
다음은 몇 가지 테스트 사례입니다. (같은 수의 1을 가진 다른 표현식도 허용됨을 기억하십시오)
157=((1+1+1)(1+1)(1+1)+1)(1+1+1)(1+1)(1+1)+1
444=((1+1+1)(1+1+1)(1+1)(1+1)+1)(1+1+1)(1+1)(1+1)
1223=((1+1+1)(1+1+1)(1+1+1)(1+1+1)(1+1+1)+1)(1+1+1+1+1)+1+1+1
15535=((((1+1+1)(1+1+1)(1+1+1)(1+1+1)+1)((1+1+1)(1+1)+1)+1)(1+1+1)+1)(1+1+1)(1+1+1)+1
45197=((((1+1+1)(1+1)(1+1)(1+1)+1)(1+1+1+1+1)(1+1)+1)(1+1+1)(1+1)(1+1)+1)(1+1+1+1+1)(1+1+1)+1+1
행운을 빕니다! -거북이 🐢
n=20
) 2) 처음에는 방정식과는 다른 정수 복잡성이 출력되어야한다고 말하지만 첫 번째를 제외한 모든 예.