def whatPower(x as int): for i in range(0, 8): n = 7 - i # Not using these intermediate variables # causes weird errors at runtime y as int = (x ** (1.0 / n)) cast int z as int = y ** n if z == x: return n return 1 def refine(lst, n as int): return i for i as int in lst if ((i > n*100) or (i % n > 0)) def validPows(n as int) as int: lst = i for i in range(2, (100 * n) + 1) for j in range(1, n): lst = refine(lst, j) lst2 = i for i in lst if (i % n == 0) ans = 0 for i in lst2: ans += 1 return ans def contribution(x as int) as int: return validPows(whatPower(x)) ans as int = 0 for i in range(2, 101): c = contribution(i) cast int #debug print code #print("$i : $c") ans += c print ans
Monday, August 19, 2013
Problem 29 - Boo
After struggling with Befunge yesterday, I decided it was time for something a bit more reasonable - so I used Boo, a language based on Python with some additional features in order to take advantage of the "Common Language Infrastructure" - I didn't get a chance to use too many of these fancy features...the biggest difference from Python I got to encounter were some weird runtime errors that were fixed by using intermediate variables to store variables in order to spread computation across multiple lines.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment