닫기버튼


상단 배너 영역


실시간댓글

[일반] 이걸 어떤식으로 풀면 좋을까

nlv107_876532 길섹 | 2014-06-10 21:47

The following iterative sequence is defined for the set of positive integers:

n → n/2 (n is even)
n → 3n + 1 (n is odd)

Using the rule above and starting with 13, we generate the following sequence:

13 → 40 → 20 → 10 → 5 → 16 → 8 → 4 → 2 → 1
It can be seen that this sequence (starting at 13 and finishing at 1) contains 10 terms. Although it has not been proved yet (Collatz Problem), it is thought that all starting numbers finish at 1.

Which starting number, under one million, produces the longest chain?

NOTE: Once the chain starts the terms are allowed to go above one million.


대충 보니깐

짝수일땐 나누고 홀수일땐 3배수 + 1 해서 쭈우욱 계산하고 1이 될때까지 계산을 하는거 같은데

하필 백만 단위임 ㅡ.,ㅡ

이건 뭐 어떤식으로 생각을 해야될까

손수 하나하나 다 할려면 좀 빡칠꺼 같은데......

백만대면 저 짓을 천만번 가까이 해야되자나

흠.. 뭐 좋은 수 없을려나
nlv119_89323 길섹
gold

1,296

point

1,829,040

프로필 숨기기

119

36%

 

최신순

게임조선 회원님들의 의견 (총 21개) ※ 새로고침은 5초에 한번씩 실행 됩니다.

새로고침

신고

nlv92 래디오스 2014-06-10 21:57 0

걍 백만번 돌리면 되잖아 목표가 뭐야

신고

nlv107_876532 길섹 작성자 2014-06-10 21:57 0

백만 단위에서 백만번 돌리면 이백만부터는 어떻게....
900만번 돌려야되지 않나여

신고

nlv107_876532 길섹 작성자 2014-06-10 21:58 0

짝수 홀수 일떄 저런방식으로 수를 쭈우욱 이어가는데

그 체인이 가장 큰 수를 찾는거 임 ㅠㅠ

신고

nlv126_54168 소이리 2014-06-10 21:58 0

백만번 돌리면 대네

신고

nlv107_876532 길섹 작성자 2014-06-10 21:58 0

ㅡ,.ㅡ 백만까지 구나

신고

nlv107_876532 길섹 작성자 2014-06-10 21:58 0

백만번이면 그냥 굴려볼까 ㅡㅡ

신고

nlv92 래디오스 2014-06-10 21:59 0

굳이 좀더 효율적으로 하자면, 저 13에 대한 계산을 한번 함으로써

중간에 나온 숫자인 1 2 4 5 8 10 16 20 40은 다시 계산할 필요가 없으니 빼면 되겠지

신고

nlv107_876532 길섹 작성자 2014-06-10 22:00 0

오 형 그 방법 좋네여
이미 했던 수들은 갯수를 저장해놔야겠다

신고

nlv107_876532 길섹 작성자 2014-06-10 22:00 0

형 덕분에 속도 확 오를듯 감사감사 ㅋㅋㅋㅋㅋㅋ

신고

nlv126_54168 소이리 2014-06-10 22:01 0

백만번이하로 도는애들중에 가장 큰수를 찾는거네

신고

nlv92 래디오스 2014-06-10 22:01 0

문제가 무슨 빅오엔제곱 프라블럼을 빅오엔으로 바꿔풀라 이렇게 구체적인 목표가 나온것도 아니고 걍 돌리면 되는거 같운디

신고

nlv107_876532 길섹 작성자 2014-06-10 22:02 0

1부터 백만 사이에서 가장 긴 체인을 만드는 수를 찾는게 목표 아님?

신고

nlv126_54168 소이리 2014-06-10 22:02 0

일단 백만번까지 도는거 기다리는것도 은근 짜증일거 가은데 ㅋㅋㅋ

신고

nlv107_876532 길섹 작성자 2014-06-10 22:03 0

그냥 돌리면 연산이 너무 많지 않나영

신고

nlv107_876532 길섹 작성자 2014-06-10 22:03 0

이런거 풀면서 뇌좀 다시 굴려야지 후우

신고

nlv126_54168 소이리 2014-06-10 22:03 0

아 길섹말이 맞은 백만 사이에서 가장긴체인을 찾는거네

신고

nlv107_876532 길섹 작성자 2014-06-10 22:05 0

처음엔 내가 해석을 잘 못함 ㅋㅋㅋㅋㅋ

신고

nlv126_54168 소이리 2014-06-10 22:11 0

근데 이경우 그냥 백만에서 부터 시작하면 대지 않나.....
첫백만을 하고 그 수를 기억 ->
999,999를 가지고 다시 함 백만이랑 겹치는시점은? ->
999,998 동일
...
...
..

그이후 저장된 수가 나오는 시점까지?

신고

nlv92 래디오스 2014-06-10 22:11 0

알고리즘적 측면에서 봤을 때 단순히 숫자가 백만개다 백개다는 중요하지 않다고 봄

관건은 연산시간이 O(n) O(n^2) 같은 폴리노미얼 프라블럼이냐

O(2^n) 같은 논폴리노미얼(NP) 프라블럼이냐인데

저건 기껏해야 O(n^2)인 다항식 프라블럼임

백만번의 연간을 백만번 하는건 무서운게 아냐

2의 백만승 한다고 생각해봐

신고

nlv107_876532 길섹 작성자 2014-06-10 22:16 0

와 솝박형 말 들으니깐 알고리즘 공부 다시 하고 싶어진다

신고

nlv107_876532 길섹 작성자 2014-06-10 23:19 0

우왕 제대로 구성해서 코드 돌리니깐
몇초 걸리지도 않고 바로 값나온당 ㅋㅋㅋ
837799 ㅋㅋㅋㅋㅋ

0/500자

목록 글쓰기 위로 로그인


게임조선 소개및 약관