서브 세트 합계 검색을하기 위해 TI-83을 프로그래밍하려고합니다. 그래서 길이 N의 목록이 주어지면 주어진 길이의 모든 목록을 찾으려고합니다. 주어진 값으로 합한 길이의 V를 찾습니다.서브 세트 합계 TI 기본 프로그래밍
이것은 내가 검색하기 때문에 정규 서브셋 합계 문제와 조금 다릅니다. 주어진 길이의 서브셋, 모든 길이가 아닌 재귀 그리고 반드시 재귀가 첫 번째 선택 인 것은 아니다. 내가 작업하고있는 프로그램을 호출 할 수 없기 때문이다.
중첩 된 루프로 작업을 쉽게 수행 할 수있다. 5보다 큰 L 값에 대해 성가신 상태가됩니다. 동적 인 솔루션을 찾으려고 노력하고 있지만 어디에도 가지 않습니다.
정말이 시점에서 나는 목록 참조를 올바르게 얻으려고하고 있습니다. 그래서 그것은 제가보고있는 것입니다. 다음의 예제와 함께 가자 :
L1={p,q,r,s,t,u}
그렇게
N=6
가의 상대적으로 짧은 그것을 유지하기 위해 길이 3의 모든 부분 집합에 대해 살펴 보자, L = 3 (6c3 = 20 개 총 출력) 그래서.
이상적으로 검색 할 것 목록 참조는 다음과 같습니다
FOR A,1,N-2
FOR B,A+1,N-1
FOR C,B+1,N
display {A,B,C}
END
END
END
내가 처음을 단축 기준을 검색 할 날 수 있습니다 N의 하강의 데이터를 정렬 :
{1,2,3}
{1,2,4}
{1,2,5}
{1,2,6}
{1,3,4}
{1,3,5}
{1,3,6}
{1,4,5}
{1,4,6}
{1,5,6}
{2,3,4}
{2,3,5}
{2,3,6}
{2,4,5}
{2,4,6}
{2,5,6}
{3,4,5}
{3,4,6}
{3,5,6}
{4,5,6}
분명히하여 수행 search를 사용하고 FOR 루프를 사용하면 루프 내에서 A, B 및 C 값을 증가시킬 때 조금씩 다른 위치에서 나사를 조입니다.
나는 또한 더 나은 동적 솔루션을 찾고 있습니다. 나는 웹에 대한 연구를 해왔지만, 내 특별한 상황에 어떤 영향을 미칠 것 같지 않다.
도움을 주시면 감사하겠습니다. 나는 소설을 쓰지 않을 정도로 충분히 짧게하려고 노력하지만, 나는 무엇을 얻으려고하는지 설명한다. 필요에 따라 더 자세한 정보를 제공 할 수 있습니다.
나는 ti-basic 태그를 추가하여 프로그래밍 언어를 만들었습니다. 모두들 멋지기를 바랍니다. – Earlz
괜찮습니다. @earlz, 이제 모든 ti-basic 코더의 선택 대상이 될 것입니다 :-) @Garrett, 나는 또한 질문을 조금 정리할 수있는 기회를 얻었습니다. 당신은 내가 아무것도 망쳐 놓지 않았는지 확인하기 위해 그것을 읽고 싶을지도 모른다. – paxdiablo
gotos를 사용하는 독창적 인 방법을 살펴 보셨습니까? 아니면 이것을 구현하기 위해 2 개의 "프로그램"을 사용하고 있을까요? (재귀 적으로 서로 호출) – Earlz