여러 숫자의 합이 항상 다르게 만드는 방법이 있나요?
글쓴이: superkkt / 작성시간: 일, 2008/07/20 - 10:57오전
안녕하세요.
여러개의 숫자가 나열된 데이터가 있습니다. 이 데이터는 나열된 순서가 중요합니다. 예를 들어,
1 2 3 4 5 <code> <code> 1 5 2 4 3 <code> 이 두 개의 데이터는 서로 다른 데이터입니다. 제가 궁금한건 나열된 숫자의 합만 가지고 같은 데이터를 찾아낼 수 있는 방법이 있는가 입니다. 위에서 예로 든 두 개의 데이터는 합은 서로 같습니다. 하지만 순서가 다르기 때문에 서로 다른 데이터이죠. 제가 생각했던 방법은 각 순서마다 미리 정해진 값을 곱해서 전체 합을 다르게 만들어볼까 했는데, 이것도 합은 같지만 서로 다른 데이터가 나오는 경우가 많이 있더군요. 어떤 연산을 수행해서 데이터의 합이 항상 다르게 나오도록 할 수 있을까요?
Forums:
즉 하나의 값으로 모든 순열을 구분하고 싶다는 뜻이군요.
진법?
1 2 3 4 5 => 12345
1 5 2 4 3 => 15243
이러면 되나요?
답변 감사합니다.
답변 감사합니다. 제가 깜빡하고 원글에 안 적었는데, 데이터가 정수가 아니라 float 형태의 실수입니다.
======================
BLOG : http://superkkt.com
======================
BLOG : http://superkkt.com
원하시는 바가 가장 적합한 바는 압축인 것 같군요.
적절한 것을 찾아보시길...
데이터에 대한
데이터에 대한 특별한 제약조건이 있나요?
일반적인 방법은 없다고 알고 있습니다.
다만, 데이터가 1,2,4,8,... 이런식으로 규칙이 있으면, 조합까지는 알 수 있습니다.
그리고, 결과가 스칼라가 아니라, 동일한 크기의 벡터면 가능합니다. 그런 예는 주변에 많이 있죠.
혹시 벡터를
혹시 벡터를 사용하는 방법에 대해서 좀 더 자세한 예를 들어주실 수 있으신가요?
내공이 부족하여 올려주신 답변만으로는 잘 이해가 안되네요.
======================
BLOG : http://superkkt.com
======================
BLOG : http://superkkt.com
CRC check는 어떨까요?
오류 검사용으로 만들어진 코드라서 하나라도 다르면 다른 결과가 나오니 원하는 목적에 적합할 듯 합니다.
그런데... 여러 수열을 하나의 값으로 표현하면 반드시 중첩되는 값이 나올 수 밖에 없습니다.
수열의 원소가 제한된 범위를 갖고 있다면 어찌 해 볼 수 있겠지만 그렇지 않다면 중복되지
않는 유일한 숫자를 찾는 것은 불가능합니다.
답변 감사합니다.
답변 감사합니다.
지금 생각해보니 저도 제가 원하는걸 정확하게 몰라서 질문을 자세하게 쓰지 못한것 같습니다.
일단 지금 좀 정리가 되고 있는데요. 제가 원하는건 수열을 하나의 값으로 표현한 후에 범위 검색을 하는 것입니다.
그래서 CRC 같은 방법을 사용하면 범위 검색을 할 수 없으니 사용이 어려울 것 같습니다.
범위 검색을 좀 편하게 해보려고 수열을 단일한 값으로 표현해서 구현해보려고 했는데 영 힘드네요.
아무래도 다차원 키를 가지는 자료구조를 검토해 봐야겠습니다.
=====================
BLOG : http://superkkt.com
======================
BLOG : http://superkkt.com
정렬하시고
정렬하시고 앞에서부터 소수를 곱해서 더하세요.
정렬된결과가 A, B, C, D, E 라면
A*5 + B*7 + C*11 + D*13 + E*17 정도?
다시 보니 값들이 소수군요... -_-;; 그렇다면 값의 범위에 따라;; 곱하기를;; 값이 한 -10~10 사이라면
A + 20*B + 20^2*C + 20^3*D + 20^4*E 정도?
--
오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...
http://mytears.org ~(~_~)~
나 한줄기 바람처럼..
오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...
http://mytears.org ~(~_~)~
나 한줄기 바람처럼..
댓글 달기