Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

3N+1Problem: Difference between revisions

From ZeroWiki
(Repair pages found by live-compare batch 0001)
(Repair batch-0001 pages from live compare)
 
Line 40: Line 40:
| 실행시간(i=1,j=999999 기준 4초 통과)
| 실행시간(i=1,j=999999 기준 4초 통과)
|-
|-
| 강희경
| [[강희경]]
| Python
| Python
| 1시간
| 1시간
Line 46: Line 46:
| X
| X
|-
|-
| 황재선
| [[황재선]]
| Python
| Python
| ?
| ?
| 3N+1Problem/황재선
| [[3N+1Problem/황재선]]
| .
| .
|-
|-
Line 58: Line 58:
| .
| .
|-
|-
| 문보창
| [[문보창]]
| C++
| C++
| ?
| ?
| 3N+1Problem/문보창
| [[3N+1Problem/문보창]]
| X
| X
|-
|-
| 구자겸
| [[구자겸]]
| C
| C
| ?
| ?
| 3N+1Problem/구자겸
| [[3N+1Problem/구자겸]]
| .
| .
|-
|-
| 신재동
| [[신재동]]
| C++
| C++
| 10분
| 10분
| 3N+1Problem/신재동
| [[3N+1Problem/신재동]]
| .
| .
|-
|-
| Leonardong
| [[Leonardong]]
| Python
| Python
| 46분
| 46분
| 3N+1Problem/Leonardong
| [[3N+1Problem/Leonardong]]
| .
| .
|-
|-
| 곽세환
| [[곽세환]]
| C++
| C++
| ?
| ?
Line 91: Line 91:
| Python
| Python
| 13분
| 13분
| 3N+1Problem/1002
| [[3N+1Problem/1002]]
| .
| .
|-
|-
Line 97: Line 97:
| Python
| Python
| 30분
| 30분
| 3N+1Problem/1002_2
| [[3N+1Problem/1002_2]]
| No-Psyco : 9.25초, With-Psyco : 3.8초
| No-Psyco : 9.25초, With-Psyco : 3.8초
|-
|-
| 허아영
| [[허아영]]
| C++
| C++
| 1시간 20분
| 1시간 20분
| 3N 1Problem/허아영
| [[3N 1Problem/허아영]]
| .
| .
|-
|-
Line 112: Line 112:
| .
| .
|-
|-
| 임인택
| [[임인택]]
| HaskellLanguage
| [[HaskellLanguage]]
| 30분
| 30분
| [http://janbyul.com/moin/moin.cgi/HaskellLanguage/3N%2B1Problem 여기]
| [http://janbyul.com/moin/moin.cgi/HaskellLanguage/3N%2B1Problem 여기]
Line 121: Line 121:
| C++
| C++
| 엄청..ㅡㅜ
| 엄청..ㅡㅜ
| 3N+1/김상섭
| [[3N+1/김상섭]]
| .
| .
|}
|}
Line 143: Line 143:


=== 쓰레드 ===
=== 쓰레드 ===
실행시간(i=1,j=1000000 기준 4초 통과)는 파이썬의 경우 가능할런지 모르겠네요. 나름대로 알고리즘을 보강했는데도 1, 100000에 빌빌 거리니...--강희경
실행시간(i=1,j=1000000 기준 4초 통과)는 파이썬의 경우 가능할런지 모르겠네요. 나름대로 알고리즘을 보강했는데도 1, 100000에 빌빌 거리니...--[[강희경]]


----
----
문제분류
[[문제분류]]

Latest revision as of 23:55, 26 March 2026

학교에서 무료함을 달래기 위해 acm programming contest 기출문제를 풀어보는데, ToyProblems 에서도 다룰만한 쉬운 문제가 있기에 이렇게 소개합니다. 원문보기


이 문제는

인기도:A(A,B,C), 성공률:낮음(낮음,보통,높음), 레벨:1(1~4)

CS에서 등장하는 문제의 종류는 여러가지가 있는데 (예를 들어, NP, Unsolvable, Recursive...) 이 문제는 '입력에 대해 출력이 어떻게 나올지 모르는' 이라고 분류할만한 것에 대한 분석을 하는 것이다. (해석이 애매하군요; )

다음과 같은 알고리즘이 있다

1. input n
2. print n
3. if n == 1 then STOP
4.    if n is odd then n = 3n + 1
5.    else n = n/2
6. GOTO 2

만약 입력으로 22가 주어졌을때 출력값은 22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1 가 될 것이다. 이 알고리즘은 간단해 보이지만 n의 값이 1로 되어 알고리즘이 종료될지는 모르는 일이다. 하지만 이는 0과 1000000 사이의 숫자, 아니 이보다 더 큰 숫자에 대해서도 n의 값이 1이 된다고 증명되었다.

입력으로 22가 주어졌을때, 출력되는 값의 수 n(22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1) 는 22 16이다. 이를 n에 대한 cycle-length 라고 한다.

정수 i와 j 에 대해 두 수 사이에 존재하는 cycle-length 값들중의 최대값을 구할 것이다. 입력은 아래와 같이 한 줄에 한 쌍의 정수로 이루어져 있다. 출력값은 이 두 정수 사이의 cycle-length 중에서 최대값을 구하는 것이다.

입력

1 10
100 200
201 210
900 1000

출력

1 10 20
100 200 125
201 210 89
900 1000 174

풀이

작성자 사용언어 개발시간 코드 실행시간(i=1,j=999999 기준 4초 통과)
강희경 Python 1시간 3N+1Problem/강희경 X
황재선 Python ? 3N+1Problem/황재선 .
김회영 C++ ? 3N+1Problem/김회영 .
문보창 C++ ? 3N+1Problem/문보창 X
구자겸 C ? 3N+1Problem/구자겸 .
신재동 C++ 10분 3N+1Problem/신재동 .
Leonardong Python 46분 3N+1Problem/Leonardong .
곽세환 C++ ? 3N+1Problem/곽세환 .
[1002] Python 13분 3N+1Problem/1002 .
[1002] Python 30분 3N+1Problem/1002_2 No-Psyco : 9.25초, With-Psyco : 3.8초
허아영 C++ 1시간 20분 3N 1Problem/허아영 .
이도현 C++ 1시간 3n+1/이도현 .
임인택 HaskellLanguage 30분 여기 .
김상섭 C++ 엄청..ㅡㅜ 3N+1/김상섭 .

See also BioinfoWiki:AlgorithmQuiz/3Plus1

문제 2탄

  • 기존의 코드를 수정해서 가장 큰 Cycle Length 가 아닌 3번째로 큰 Cycle Length 를 구해보세요.
작성자 사용언어 개발(수정)시간 코드
[1002] Python 16분(3분) .

쓰레드

실행시간(i=1,j=1000000 기준 4초 통과)는 파이썬의 경우 가능할런지 모르겠네요. 나름대로 알고리즘을 보강했는데도 1, 100000에 빌빌 거리니...--강희경


문제분류