E D R , A S I H C RSS

3N+1 Problem

•™ต—„œ ๋ฌด๋ฃŒ•„‹ฌ๋ž˜ธฐ œ„•ด 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— ๋นŒ๋นŒ ฑฐ๋ฆฌ๋‹ˆ...--•ฒฝ


Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:22:15
Processing time 0.0419 sec