PyPE solution to PE problem 29
PyPE solution to PE problem 29
Blueprint information
- Status:
- Complete
- Approver:
- None
- Priority:
- Undefined
- Drafter:
- None
- Direction:
- Needs approval
- Assignee:
- None
- Definition:
- Approved
- Series goal:
- None
- Implementation:
-
Implemented
- Milestone target:
- None
- Started by
- Scott Armitage
- Completed by
- Scott Armitage
Related branches
Related bugs
Sprints
Whiteboard
ProjectEule
===
Consider all integer combinations of a^(b) 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 a^(b) for
2 = a = 100 and 2 = b = 100?
Solution
--------
First, note that the order doesn't actually matter. The only important
caveat is that we remove all duplicates, i.e. that the solutions are a
set. Luckily, Python supports sets out of the box.
Aside from that, we just span all possible values of a and b, givin the
limits a_min <= a <= a_max and b_min <= b <= b_max.
This is a brute-force approach, however the runtime is much less than
one second.
Answer
------
9183