题意:
给出c1,c2,…cn,问对于任何一个正整数x,给出x%c1,x%c2,…的值x%k的值是否确定;
思路:
中国剩余定理。详见https://blog.csdn.net/acdreamers/article/details/8050018
代码:
#include
using namespace std;//使用标准名字空间
long long gcd(long long a,long long b){//使用递归求两个数的最大公因数
if(b==) return a;//如果有一个数为0,就返回另一数
return gcd(b,a%b);//否则递归下一层
}
long long n,m;
int main()
{
cin>>n>>m;//输入n和m
long long x,ans=;//定义各数初值
while(n--){
scanf("%lld",&x);//输入序列
ans=ans/gcd(ans,x)*x%m;//求它们的最小公倍数
}
if(ans%m)cout<<"No"<<endl;//如果不是m的倍数,就输出“NO”
else cout<<"Yes"<<endl;//否则输出“Yes”
return ;//结束
}
手机扫一扫
移动阅读更方便
你可能感兴趣的文章