[Project Euler] Problem 29

원문: Problem 29
Consider all integer combinations of a^b for 2 ≤ a ≤ 5 and 2 ≤ b ≤ 5:
22=4, 23=8, 24=16, 25=32
32=9, 33=27, 34=81, 35=243
42=16, 43=64, 44=256, 45=1024
52=25, 53=125, 54=625, 55=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?

2 ≤ a ≤ 5 및 2 ≤ b ≤ 5에 대해서 a^b의 모든 정수 조합을 고려하면 다음과 같다:
22=4, 23=8, 24=16, 25=32
32=9, 33=27, 34=81, 35=243
42=16, 43=64, 44=256, 45=1024
52=25, 53=125, 54=625, 55=3125
만약 그것들을 반복되는 것을 제거하여 수의 순서로 놓으면, 다음과 같은 15개의 구별되는 항의 수열을 얻는다:

4, 8, 9, 16, 25, 27, 32, 64, 81, 125, 243, 256, 625, 1024, 3125

2 ≤ a ≤ 100 및 2 ≤ b ≤ 100에 대해서 a^b에 의해 생성되는 수열에서 구별되는 항은 몇 개인가?

Python
오랫만에 나왔다! 원라인 코드!
>>> len(set(a ** b for a in range(2, 101) for b in range(2, 101)))
접기

댓글 없음:

댓글 쓰기