2016-12-17 1 views
1

숫자 X (0-999)와 6 개의 임의 숫자 (< 50)가 있습니다.기본 수학 연산과 6 개의 난수를 사용하여 자동으로 숫자 X를 찾는 프로그램이 필요합니다.

괄호와 6 개의 난수가있는 기본 수학 연산을 사용하여 숫자 X (또는 X를 찾을 수없는 경우 X에 가장 가까운 숫자)를 자동으로 찾는 프로그램이 필요합니다.

누군가이 문제에 접근하는 방법을 추천 해 주시겠습니까? 나는 어딘가에 후위 표기법과 유전자 알고리즘을 사용해야한다고 읽었지 만 그 중 하나에 대해서는 많이 모른다.

답변

0

Postfix notation 괄호를 사용하여 제공되는 합병증을 피할 포뮬러. 그것은 당신이

  • 각 운영자가 네 개의 선택 중 하나 (4^5 = 1024 조합에 다섯 개 사업자의 모든 조합에 의해 다음

    1. 여섯 개 숫자의 모든 순열 (모두 6! = 720 순열)과 같은 방정식을 모델링 할 수 있습니다 모두)

    총 수식은 720*1024 = 737280입니다. 따라서 유전 알고리즘을 사용할 이유가 없기 때문에 모든 가능성을 시험해 볼 수 있습니다. 최고의 후위 솔루션을 찾은 후에 적절한 중괄호를 사용하여 중위 어로 변환해야합니다.

  • -1

    임의의 방정식에 대해 질문하는 경우 프로그램을 해결할 필요가있는 것처럼 해결할 수 있습니다. 예 : (10x + 5x + 8) * 8 = (x + 2)^2 + 3 1 단계 왼쪽에서 왼쪽으로 움직이는 모든 단계 이동 1 단계 괄호 : 80x + 40x + 64 = x² + 4x + 4 + 3 : 80X 40X + + 64 - x² - 4X + 4 +3 3 단계 단순화 : -x² 116x + 71 + 4 단계 사용

    관련 문제