题目:
https://ac.nowcoder.com/acm/problem/21674
有 n n n个数,问你能否从中选出若干个数使得这些数的最小公倍数为 x x x
思路:
l
c
m
(
a
1
,
a
2
.
.
.
a
k
)
(
a
i
∣
x
)
=
x
⟺
lcm(a_1,a_2...a_k)(a_i|x)=x\Longleftrightarrow
lcm(a1,a2...ak)(ai∣x)=x⟺能选出若干数
l
c
m
lcm
lcm为
x
x
x
- 证:能选出若干数
l
c
m
lcm
lcm为
x
⟹
l
c
m
(
a
1
,
a
2
.
.
.
a
k
)
=
x
x\Longrightarrow lcm(a_1,a_2...a_k)=x
x⟹lcm(a1,a2...ak)=x
∵ a i ∣ x \because a_i|x ∵ai∣x
∴ l c m ( a 1 , a 2 . . . a k ) ≤ x \therefore lcm(a_1,a_2...a_k)\le x ∴lcm(a1,a2...ak)≤x
∵ x ≥ l c m ( a 1 , a 2 . . . a k ) ≥ \because x\ge lcm(a_1,a_2...a_k)\ge ∵x≥lcm(a1,a2...ak)≥若干数的 l c m = x lcm=x lcm=x
∴ l c m ( a 1 , a 2 . . . a k ) = x \therefore lcm(a_1,a_2...a_k)=x ∴lcm(a1,a2...ak)=x - 证:
l
c
m
(
a
1
,
a
2
.
.
.
a
k
)
=
x
⟹
lcm(a_1,a_2...a_k)=x\Longrightarrow
lcm(a1,a2...ak)=x⟹能选出若干数
l
c
m
lcm
lcm为
x
x
x
显然成立。
所以只要判断全部选能否满足条件。