题解 【CF687B】Remainders Game
题意:
给出c1,c2,...cn,问对于任何一个正整数x,给出x%c1,x%c2,...的值x%k的值是否确定;
思路:
中国剩余定理。详见https://blog.csdn.net/acdreamers/article/details/8050018
代码:
#include<bits/stdc++.h>//万能头文件 using namespace std;//使用标准名字空间 long long gcd(long long a,long long b){//使用递归求两个数的最大公因数 if(b==0) return a;//如果有一个数为0,就返回另一数 return gcd(b,a%b);//否则递归下一层 } long long n,m; int main() { cin>>n>>m;//输入n和m long long x,ans=1;//定义各数初值 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 0;//结束 }