描述
喵哈哈村的一堆人在前往北京的路上,发现了一个洞穴。由于好奇心大作,于是准备前往洞穴进行探险。
但是有一些人并不愿意前往洞穴,于是他们决定玩以下游戏,来看是否能够去秘境探险:
这儿有n个数,如果所有数的乘积是k的倍数,那么就去探险,否则就不去。
现在问你是否会去。
输入
本题包含若干组测试数据。
第一行两个整数n,k,表示数的个数,和k。
第二行n个整数,a[i]。
满足1<=n<=1000,1<=k,a[i]<=1e6
输出
如果要去的话,输出Yes,否则输出No
样例输入1
3 5
1 2 4
3 8
1 2 4
样例输出1
No
Yes
A :
#include<bits/stdc++.h>
using namespace std;
const int maxn = 1005;
long long a[maxn];
int main() {
long long n, k;
while (cin >> n >> k) {
long long ans = 1;
for (int i = 0; i < n; ++i) {
cin >> a[i];
ans *= a[i];
ans %= k; // 边乘边取模
}
if (ans % k == 0) {
cout << "Yes" << endl;
} else {
cout << "No" << endl;
}
}
return 0;
}
a * b % k = (a % k) * (b % k) % k