~cpp import unittest class UglyNumbers: def uglyNumber(self, index): numberList = [pow(2,i)*pow(3,j)*pow(5,k) for k in xrange(30) \ for j in xrange(30) for i in xrange(30)] numberList.sort() return numberList[index-1] def printUglyNum(self, num): print "The 1500'th ugly number is <" + str(num) + ">." class UglyNumbersTestCase(unittest.TestCase): def setUp(self): self.u = UglyNumbers() def testFindUglyNumber(self): self.assertEquals(859963392, self.u.uglyNumber(1500)) self.assertEquals(2, self.u.uglyNumber(2)) self.assertEquals(1, self.u.uglyNumber(1)) self.assertEquals(12, self.u.uglyNumber(10)) self.assertEquals(15, self.u.uglyNumber(11)) def main(): u = UglyNumbers() n = u.uglyNumber(1500) u.printUglyNum(n) if __name__ == '__main__': #unittest.main() main()