Wolfram 언어

대수학과 정수론

수 분해의 해결

새로운 함수 Groupings는 어떤 객체와 작업을 결합하여 모든 가능한 결과를 생성하는 강력한 방법을 제공합니다. 특히, 프랑스 TV 프로그램 "Des chiffres et des lettres" 등과 같은 숫자적인 게임이나, 소셜 네트워크에서 최근 인기가 높았던 산술 질문을 해결하는데 매우 유용합니다.

정수 1,1,5,8과 네가지 기본 산술 연산을 사용하여 10를 얻는 방법을 결정합니다.

In[1]:=
Click for copyable input
ints = {1, 1, 5, 8}; ops = {Plus, Subtract, Times, Divide};

이러한 4개의 정수로 지정된 조작을 사용하면 3840 가지의 조합이 가능합니다.

In[2]:=
Click for copyable input
Length[combs = Groupings[Permutations[ints], ops -> 2, HoldForm]]
Out[2]=

다음에서 그 예를 알아봅니다.

In[3]:=
Click for copyable input
RandomSample[combs, 10]
Out[3]=

각각의 조합의 결과를 계산합니다. 조합의 대부분은 0으로 나누기가 포함되어 있습니다.

In[4]:=
Click for copyable input
results = Quiet@ReleaseHold[combs];

다음은 10를 얻는 유일한 조합입니다.

In[5]:=
Click for copyable input
Cases[Thread[Equal[combs, results]], _ == 10]
Out[5]=

가장 일반적인 결과는 13으로, 240가지의 다른 방법으로 생성됩니다.

In[6]:=
Click for copyable input
TakeLargestBy[Tally[results], Last, 5]
Out[6]=

관련 예제

de en es fr ja pt-br ru zh