For 2 ≤ a ≤ 5
and 2 ≤ b ≤ 5
, consider all ʻa ** b`:
2**2=4, 2**3=8, 2**4=16, 2**5=32
3**2=9, 3**3=27, 3**4=81, 3**5=243
4**2=16, 4**3=64, 4**4=256, 4**5=1024
5**2=25, 5**3=125, 5**4=625, 5**5=3125
If you arrange them in ascending order and exclude the same number, you get 15 terms:
4, 8, 9, 16, 25, 27, 32, 64, 81, 125, 243, 256, 625, 1024, 3125
How many different terms exist when doing the same thing with 2 ≤ a ≤ 100
and 2 ≤ b ≤ 100
?
http://odz.sakura.ne.jp/projecteuler/index.php?cmd=read&page=Problem%2029
Speaking of which, practice of list comprehension? Wonder?
def cof():
seq = range(2,101)
ans = len(set([x**y for x in seq for y in seq]))
print ans
Recommended Posts