-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathP029.py
More file actions
29 lines (26 loc) · 927 Bytes
/
P029.py
File metadata and controls
29 lines (26 loc) · 927 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# -*- coding: utf-8 -*-
#==============================================================================
# Consider all integer combinations of ab for 2 ≤ a ≤ 5 and 2 ≤ b ≤ 5:
#
# 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 they are then placed in numerical order, with any repeats removed,
# we get the following sequence of 15 distinct terms:
#
# 4, 8, 9, 16, 25, 27, 32, 64, 81, 125, 243, 256, 625, 1024, 3125
#
# How many distinct terms are in the sequence generated by ab for
# 2 ≤ a ≤ 100 and 2 ≤ b ≤ 100?
#==============================================================================
import time
Powers = []
t1=time.time()
for aa in xrange(2,101):
for bb in xrange(aa,101):
Powers.append(aa**bb)
Powers.append(bb**aa)
t2=time.time()
print len(set(Powers)), t2-t1
# 9183