여러 숫자의 합이 항상 다르게 만드는 방법이 있나요?

superkkt의 이미지

안녕하세요.

여러개의 숫자가 나열된 데이터가 있습니다. 이 데이터는 나열된 순서가 중요합니다. 예를 들어,

1
2
3
4
5
<code>
 
<code>
1
5
2
4
3
<code>
 
이 두 개의 데이터는 서로 다른 데이터입니다. 
 
제가 궁금한건 나열된 숫자의 합만 가지고 같은 데이터를 찾아낼 수 있는 방법이 있는가 입니다. 위에서 예로 든 두 개의 데이터는 합은 서로 같습니다. 하지만 순서가 다르기 때문에 서로 다른 데이터이죠. 
 
제가 생각했던 방법은 각 순서마다 미리 정해진 값을 곱해서 전체 합을 다르게 만들어볼까 했는데, 이것도 합은 같지만 서로 다른 데이터가 나오는 경우가 많이 있더군요.
 
어떤 연산을 수행해서 데이터의 합이 항상 다르게 나오도록 할 수 있을까요?
winner의 이미지

진법?

1 2 3 4 5 => 12345
1 5 2 4 3 => 15243

이러면 되나요?

superkkt의 이미지

답변 감사합니다. 제가 깜빡하고 원글에 안 적었는데, 데이터가 정수가 아니라 float 형태의 실수입니다.

======================
BLOG : http://superkkt.com

======================
BLOG : http://superkkt.com

winner의 이미지

적절한 것을 찾아보시길...

seoleda의 이미지

데이터에 대한 특별한 제약조건이 있나요?
일반적인 방법은 없다고 알고 있습니다.
다만, 데이터가 1,2,4,8,... 이런식으로 규칙이 있으면, 조합까지는 알 수 있습니다.
그리고, 결과가 스칼라가 아니라, 동일한 크기의 벡터면 가능합니다. 그런 예는 주변에 많이 있죠.

superkkt의 이미지

혹시 벡터를 사용하는 방법에 대해서 좀 더 자세한 예를 들어주실 수 있으신가요?
내공이 부족하여 올려주신 답변만으로는 잘 이해가 안되네요.

======================
BLOG : http://superkkt.com

======================
BLOG : http://superkkt.com

grassman의 이미지

오류 검사용으로 만들어진 코드라서 하나라도 다르면 다른 결과가 나오니 원하는 목적에 적합할 듯 합니다.

그런데... 여러 수열을 하나의 값으로 표현하면 반드시 중첩되는 값이 나올 수 밖에 없습니다.
수열의 원소가 제한된 범위를 갖고 있다면 어찌 해 볼 수 있겠지만 그렇지 않다면 중복되지
않는 유일한 숫자를 찾는 것은 불가능합니다.

superkkt의 이미지

답변 감사합니다.

지금 생각해보니 저도 제가 원하는걸 정확하게 몰라서 질문을 자세하게 쓰지 못한것 같습니다.
일단 지금 좀 정리가 되고 있는데요. 제가 원하는건 수열을 하나의 값으로 표현한 후에 범위 검색을 하는 것입니다.

그래서 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 ~(~_~)~
나 한줄기 바람처럼..

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.