YunYan

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

数学题

在f(x)和g(x)的系数里找到第一个不是p的倍数的数,然后相加就是答案

为什么?

设x1为f(x)中第一个不是p的倍数的系数,x2为g(x)......

x1+x2前的系数为(a[x1+x2]*b[0]+a[x1+x2-1]*b[1]..)+a[x1]*b[x2]+(.....a[0]*b[x1+x2])

除了a[x1]b[x2]外,其余的都含有p的倍数,所以和肯定不是p的倍数

#include<bits/stdc++.h>
using namespace std;
const int N=1E6+7;
int arr[N];
int brr[N];
int main()
{
    ios::sync_with_stdio(0);
    int n,m,p;
    cin>>n>>m>>p;
    for(int i=0;i<n;i++) cin>>arr[i];
    for(int j=0;j<m;j++) cin>>brr[j];
    int c1=0;
    int c2=0;
    for(int i=0;i<n;i++){
        if(arr[i]%p!=0){
            c1=i;
            break;
        }
    }
    for(int i=0;i<m;i++){
        if(brr[i]%p!=0){
            c2=i;
            break;
        }
    } 
    cout<<c1+c2<<endl;
    return 0;
}

 

posted on 2020-03-09 20:34  Target--fly  阅读(121)  评论(0编辑  收藏  举报