임의의 수학적 표현을 생성하고 평가하기 위해이 아이디어를 머리에서 돌고 있습니다. 그래서 테스트하기 위해 코딩하기 전에 샷을 제공하고 알고리즘을 정교하게하기로 결정했습니다.
예:
다음은 무작위로 생성하려는 표현식 예입니다.
4 + 2 [easy]
3 * 6 - 7 + 2 [medium]
6 * 2 + (5 - 3) * 3 - 8 [hard]
(3 + 4) + 7 * 2 - 1 - 9 [hard]
5 - 2 + 4 * (8 - (5 + 1)) + 9 [harder]
(8 - 1 + 3) * 6 - ((3 + 7) * 2) [harder]
쉬운 및 매체 들 꽤 솔직하다. 임의 int
의 연산자로 분리 된 임의 의 s, 여기서 미친 것은 없습니다. 하지만 몇 가지 문제가 하나 만들 수 뭔가를 시작하는 데 열심히 하고 더 열심히 예. 하나의 알고리즘이 마지막 두 가지를 줄 수 있는지조차 확실하지 않습니다.
내가 고려하고있는 것 :
처음에는 일할 기회가 없었던 방향으로가는 데 많은 시간을 낭비하고 싶지 않았기 때문에 그 아이디어를 시도 했다고 말할 수 는 없습니다. 그러나 여전히 몇 가지 해결책을 생각했습니다.
- 나무 사용하기
- 정규 표현식 사용
- 미친 "for-type"루프 사용 (확실히 최악)
내가 찾는 것 :
내가 생각한 솔루션과 자신의 아이디어 사이에 어떤 방법이 최선인지 생각하고 싶습니다.
시작하는 좋은 방법이 있다면 알고리즘의 시작 또는 일반적인 구조와 같은 올바른 방향의 리드에 감사드립니다.
또한 그 표현들을 평가해야 할 것입니다. 이는 표현식이 생성 된 후 또는 작성 중에 수행 될 수 있습니다. 당신의 대답에서 그것을 고려한다면, 그것은 좋습니다.
나는 언어와 관련된 것을 찾고 있지 않지만 레코드를 위해 Objective-C로 구현하려고 생각하고 있습니다. 최근에 가장 많이 사용하는 언어이기 때문입니다.
이 예제에는 :
조작 만하고 싶기 때문에 연산자가 포함되어 있지 않으며이 int
연산자는 많은 검증을 추가합니다. 귀하의 답변 이이 솔루션을 처리하는 솔루션을 제공한다면 훌륭합니다.
내 질문에 명확한 설명이 필요하면 의견을 요청하십시오. 당신의 도움을 주셔서 감사합니다.