暴力枚举:数组变换
0x00 题目
有一个数组,里面的数可能不相等,现在他想把数组所有的数都变为相等的数,问是否可行。
可以进行的操作是:将数组中的任意一个数改为这个数的两倍。这个操作的使用次数不限,也可以不使用,并且可以对同一个位置使用多次。
输入描述
输入一个正整数N (N <= 50)
接下来一行输入N个正整数,每个数均小于等于1e9.
输出描述
假如经过若干次操作可以使得N个数都相等,那么输出”YES”, 否则输出”NO”
测试用例
输入
2
1 2
输出
YES
0x01 题解
题目很好理解,判断他们的除 2
之外有没有相同的公约数,那么我们就可以把数组每一个元素都除以2,直到它为奇数。
如果此时数组每个元素都一样,则满足条件,即有除 2
之外有相同的公约数。
1 | num_inputs = int(input()) |