codeforces 数论分析题

题目:http://codeforces.com/contest/359/problem/C

 

题意:给一个素数x和一个长度为n的数列a[],求的分子和分母的最大公约数。

 

分析:对于分子来说,我们把分子中的每一相等的项合并起来,然后相同的项必然有系数,那么所有的系数有可能也是x的倍

数。那么我们把它提出来即可。

#include 
#include 
#include 
#include 
#include 

using namespace std;
typedef long long LL;
const LL N = 100005;
const LL MOD = 1000000007;

LL n,x;
LL a[N];
map w;

LL quick_mod(LL a,LL b,LL m)
{
    LL ans = 1;
    a %= m;
    while(b)
    {
        if(b&1)
        {
            ans = ans * a % m;
            b--;
        }
        b >>= 1;
        a = a * a % m;
    }
    return ans;
}

int main()
{
    LL s = 0;
    w.clear();
    scanf("%I64d%I64d",&n,&x);
    for(int i=0;i


 

你可能感兴趣的:(数论)