24 게임은 4 개의 정수를 조작하여 최종 결과가 24가되도록하는 수학 게임입니다. 숫자의 순서에 따라 더하기, 빼기, 곱하기 또는 나눗셈 1에서 9까지의 네 자리 연산을 24로 만드는 데 사용할 수 있습니다.수학 24 게임 Java
규칙은 간단합니다. 사용자는 하나의 방정식을 찾기 위해 각 숫자를 한 번만 사용하고 사용자로부터 읽은 4 개의 숫자 만 사용해야합니다. 24.
예를 들어 4,7,8,8의 경우 가능한 해결책은 (7- (8/8)) * 4 = 24입니다.
4 자릿수대부분의 세트가 복수 24 초래할 식에 사용될 수 예는 입력을위한 2, 2, 4, 7 (24)을 얻기 위해 여러 가지로 사용될 수있다
2 + 2 * (4 + 7) =
2 + 2 * (7 + 4) = 24
(2 + 2) * 7-4 = 24
(2 * 2) * 7-4 24 = 24
2 * (2 * 7) -4 = 24
또한 24와 같은 방정식을 초래할 수없는 4 개의 숫자 조합도 있습니다. 예를 들어 1,1,1,1. 이 경우 프로그램은 24와 같은 가능한 방정식이 없음을 반환해야합니다.
참고 : 1에서 9 사이의 4 개의 정수를 입력하지만 모든 연산을 계산할 때는 double을 사용합니다. 예를 들어 숫자 3, 8, 8을 수식 8/(3-8/3) = 24에 결합 할 수 있습니다.
워크 플로 : 프로그램에서 사용자의 4 개의 숫자를 읽고 수식은 24가됩니다. 알고리즘은 4 개의 숫자, 모든 가능한 조합 및 가능한 모든 수식의 가능한 모든 순서를 열거해야합니다. 이 프로젝트에는 GUI가 필요하지 않습니다. 모든 64 개의 가능한 콤보에 대해 연산자를 뒤섞는 방법에 대한 도움이 필요합니다. 그래서 4 개의 연산자와 3이 각 방정식에 사용되고 방정식 중에 괄호를 고려합니다. 어디서부터 시작해야할지 모르겠습니다.
''어디서부터 시작해야할지 모르겠습니다. ''점진적으로 프로그램을 작성하십시오. 먼저 사용자로부터 입력을 받아들이고 그것을 출력하는 프로그램을 작성하십시오. 그런 다음 필요할 때까지 기능을 추가하십시오. – azurefrog
나는 그 부분을했는데, 나는 기능성을 알아 내는데 도움이 필요했다. 어떻게하면 모든 가능한 방정식을 생성하도록 연산자를 뒤섞는 방법을 쓰려고 할 것입니다. 나는 abcd의 24 콤보로 2 차원 배열을 반환하는 순열 법을 작성했다. 방금 방정식을 형성하는 연산자를 얻는 다른 방법을 실제로 구현하는 방법을 궁금 해서요. – n94pro
작성한 코드를 표시하십시오. –