[[AlgorithmQuiz/3Plus1]]을 [[Python]]으로 (이거 잘하면 one-liner로도 가능할듯~) --[[yong27]], 2004-09-10 {{{#!python import unittest def getCycleLength(n): nCycle = 1 while n!=1: n=(n%2 and n*3+1) or n/2 nCycle+=1 return nCycle def getMaxCycleLength(i,j): result = [] for n in range(i,j+1): result.append(getCycleLength(n)) return max(result) def main(): i,j = map(int,raw_input().split()) print i, j, getMaxCycleLength(i,j) class SomeTest(unittest.TestCase): def testGetCycleLength(self): self.assertEquals(2, getCycleLength(2)) self.assertEquals(8, getCycleLength(3)) self.assertEquals(3, getCycleLength(4)) self.assertEquals(16, getCycleLength(22)) def testGetMaxCycleLength(self): self.assertEquals(8, getMaxCycleLength(2,4)) if __name__=='__main__': unittest.main(argv=('','-v')) #main() }}}