
题意:给你两个一元多项式\(f(x)\)和\(g(x)\),保证它们每一项的系数互质,让\(f(x)\)和\(g(x)\)相乘得到\(h(x)\),问\(h(x)\)是否有某一项系数不被\(p\)整除.
题解:这题刚开始看了好久不知道怎么写,但仔细看题目给的条件可能会看出一点门道来,我们知道,\(c_{i}\)是由\(f(x)\)和\(g(x)\)中多个某两项积的和来得到的(\(c_{i}=a_{0}b{i}+a_{1}b_{i-1}+...+a_{i}b_{0}\)),那么我们只要找到第一个不被\(p\)整除的\(a_{i}\)和\(b_{i}\)即可.
代码:
int n,m;
ll p;
ll a[N],b[N];
 
int main() {
    ios::sync_with_stdio(false);cin.tie(0);
  	cin>>n>>m>>p;
  	for(int i=0;i<n;++i){
  		cin>>a[i];
  	}
  	for(int i=0;i<m;++i){
  		cin>>b[i];
  	}
  	int pos1=0;
  	int pos2=0;
  	for(int i=0;i<n;++i){
    	if(a[i]%p!=0){
    		pos1=i;
    		break;
    	}
  	}
  	for(int i=0;i<m;++i){
  		if(b[i]%p!=0){
  		 	pos2=i;
  		 	break;
  		}
  	}
  	cout<<pos1+pos2<<endl;
    return 0;
}
CodeCraft-20 (Div. 2) C. Primitive Primes (数学)
原文:https://www.cnblogs.com/lr599909928/p/13221673.html