【欧拉计划】52. Permuted multiples

(本题取 $n=142857$)

【思路】从 $1$ 开始向更大的数进行枚举,利用 Python 整型字符串自由转换的功能进行判断,找到符合题意的数即可输出。

总体时间复杂度为 $\mathcal O(n)$:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
i = 1
while True:
a = []
for j in range(1, 7):
s = []
k = str(i * j)
for c in k:
s.append(c)
s.sort()
a.append(s)
flag = True
for j in range(1, 6):
if a[j] != a[j - 1]:
flag = False
break
if flag:
print(i)
exit()
i += 1

【欧拉计划】52. Permuted multiples

https://hensier.github.io/projecteuler/52/

作者

hensier

发布于

2022-05-22

更新于

2023-01-02

许可协议

评论