경고 : 내가 부탁드립니다 응답 사람들을 도울 수 있도록 완전히 새로운 묻는 질문에 오버플로, 그래서 어떤 조언을 스택합니다.Integer를 임의의 determisitic 방정식으로 분해하는 방법은 무엇입니까?
필자는 원하는 결과를 얻기 위해 일부 유형의 분기 프로세스를 분해, 분해 또는 구현해야한다는 결론에 도달했습니다. 내가 틀렸다면 나에게 정정 해주세요, 나는 배울 점이 있습니다.
두 개의 다른 StackOverflow 답변에서 제공했습니다.
Decompose integers larger than 100 digits
https://softwareengineering.stackexchange.com/questions/195813/generating-random-math-expression
나는 문제가 일하고 있지만 완전히 적절한 솔루션을 이해하는 수학 배경이 없습니다. 그래서 단순한 대답 이상으로, 그러나 내가 스스로를 배우기 위해 선택할 수있는 기술에 대한 언급은 대단 할 것입니다.내가 기대하는 바는 결과를 생성하는 데 사용할 수있는 알고리즘입니다.
여기 내가 원하는 일이 있습니다.
는(56) 나는이 표현이 4 개 사업자로 제한해야합니다 (56) 동일 유한 크기의 임의의 수학 식을 생성 할 수 있도록하려면, 나는 정수가 말; 더하기, 빼기, 곱하기, 나누기.
따라서이 알고리즘의 결과로 예상되는 방정식은 다음과 같습니다.
입력 : 정수 56, 길이 4
결과 10 + 2 x 3 + 20 = 56
다른 예
입력 : 정수 (34), 길이 5
3 * 7/2 * 3 + 4 = 34
일부 메모 I 너를 채워줄거야. 내가 제공하는 정수로부터 이러한 무작위 표현을 생성 할 수 있기를 원한다. 운영자의 순서는 중요하지 않습니다. 효율성을 위해 실행하기 전에 결과를 알 필요가 있으므로 임의로 결과를 알지 못하는 상태에서 방정식을 생성하고 싶지 않습니다. 두 번째 예에서 전체 수를 실수로 처리하면 방정식이 올바르지 않게됩니다. 나는 개별 연산에 바닥 결과를 넣거나 소수점을 사용하기보다는 이전 정수로 반올림하기를 바란다. 나는 100 % 내림하지 않으려 고하지만 반올림 처리에 대한 귀하의 생각을 알려주십시오.
나는이 작업을 수행하는 방법에 대해 몇 가지 아이디어를 가지고 있지만 실제로이 문제에 대한 두 번째 눈을 학문 수준에서 이해하고 싶습니다.
아직 명확하지 않은 경우, 나는 스스로 가르칩니다. 귀하의 답변 주셔서 감사합니다! 나는이 놀라운 공동체가되기를 희망합니다.
좋아, 내가하려고하는 것과 정확히 같아 보인다. 발생할 수 있다고 생각되는 한 가지 문제는 중재하는 동안 제로가되는 것을 어떻게 방지하여 더 이상의 작업을 적용 할 수 없게하는 것입니다. 아니면 내가 그것에 대해 걱정해야합니까? - 내가 0을 치면 항상 더하기/빼기를 할 수 있다고 생각합니다. 당신의 생각? – PeterLNewton
제안대로, 나는 특정 범위에 머물고 싶습니다. 확률을 사용하여 범위를 벗어날 수있는 값을 격리 할 수 있다고 가정합니다. 이거 좀 더 자세히 설명해 주시겠습니까? 통제가 중요하며 제어 할 수없는 임의성을 원하지 않는다. – PeterLNewton
확률은 필요 없습니다. 모든 연산에 대해 주어진 간격으로 숫자를 생성하는 피연산자 수가있을 것입니다. 이 중 하나를 선택하십시오. 0은 문제가되지 않습니다. + 및 /에 대해 적용 가능한 피연산자가 없습니다. 간격을 지정하여 0을 제외 할 수 있습니다. –