More actions
imported>nijelprim No edit summary |
imported>nijelprim No edit summary |
||
| Line 1: | Line 1: | ||
. | === 접근 === | ||
1500 '번째' | |||
=== 코드 === | |||
ver. 1 | |||
def exponent(num, div): | |||
expo = 0 | |||
while True: | |||
if num % div != 0: | |||
return expo | |||
num /= div | |||
expo += 1 | |||
def is_ugly(num): | |||
two = exponent(num, 2) | |||
three = exponent(num, 3) | |||
five = exponent(num, 5) | |||
if num == (2 ** two) * (3 ** three) * (5 ** five): | |||
return True | |||
return False | |||
def ugly(num): | |||
if num <= 0: | |||
return 0 | |||
prev = ugly(num - 1) | |||
guess = prev + 1 | |||
while True: | |||
if is_ugly(guess): | |||
return guess | |||
guess += 1 | |||
goal = 1500 | |||
print "The " + `goal` + "(st/nd/th) ugly number is " + `ugly2(goal)` | |||
---- | |||
[[UglyNumbers]] | |||
Revision as of 11:43, 16 September 2008
접근
1500 '번째'
코드
ver. 1
def exponent(num, div): expo = 0 while True: if num % div != 0: return expo num /= div expo += 1 def is_ugly(num): two = exponent(num, 2) three = exponent(num, 3) five = exponent(num, 5) if num == (2 ** two) * (3 ** three) * (5 ** five): return True return False def ugly(num): if num <= 0: return 0 prev = ugly(num - 1) guess = prev + 1 while True: if is_ugly(guess): return guess guess += 1 goal = 1500 print "The " + `goal` + "(st/nd/th) ugly number is " + `ugly2(goal)`