• P4549裴蜀定理


    题目描述

    给出n个数(A1...An)现求一组整数序列(X1...Xn)使得S=A1X1+...AnXn>0,且S的值最小

    输入输出格式

    输入格式:

    第一行给出数字N,代表有N个数 下面一行给出N个数

    输出格式:

    S的最小值

    ————————————————————————————————————————————————————————

    本来以为是证明结果是个这样的题,也太水了,直接运用结论即可

     则  由整除的性质,  有d|(ax+by)。设s为ax+by最小正值,首先有d|s,令  ,,

      

    可见 也为  的线性组合。由于  线性组合的最小正值  ,可知 。则  ,同理  ,则  ,因此可得  ,命题得证。

    ——————————————————————————————————————————————————————————————
    证法二:
    ⑴若b=0,则(a,b)=a.这时定理显然成立。
    ⑵若a,b不等于0.
    记d = (a, b), 对ax + by = d,两边同时除以d,可得(a1)x + (b1)y = 1,其中(a1,b1) = 1。
      转证(a1)x + (b1)y = 1。由带余除法:
      ① (a1) = (q1)(b1) + (r1), 其中0 < r1 < b1
      ② (b1) = (q2)(r1) + (r2), 其中0 < r2 < r1
      ③ (r1) = (q3)(r2) + (r3), 其中0 < r3 < r2
      .....
      ④ (rn-4) = (qn-2)(rn-3) + (rn-2)
      ⑤ (rn-3) = (qn-1)(rn-2) + (rn-1)
      ⑥ (rn-2) = (qn)(rn-1) + (rn)
      ⑦ (rn-1) = (qn+1)(rn) + 1
      故,由⑦和⑥推出(rn-2)An-2 + (rn-1)Bn-1 = 1
      再结合⑤推出(rn-3)An-3 + (rn-2)Bn-2 = 1
      再结合④推出(rn-4)An-4 + (rn-3)Bn-3 = 1
      .....
      再结合③推出(r1)A1 + (r2)B2 = 1
      再结合②推出(b1)A0 + (r1)B0 = 1
      再结合①推出(a1)x + (b1)y = 1
      证毕。

     ——————————————————————————————————

    扩展到n个数

    ————————————————————————————————————————————————

    设a1,a2,a3......an为n个整数,d是它们的最大公约数,那么存在整数x1......xn使得x1*a1+x2*a2+...xn*an=d。
    特别来说,如果a1...an互质(不是两两互质),那么存在整数x1......xn使得x1*a1+x2*a2+...xn*an=1。
    ——————————————————————————————————————

    摘自百度百科

    #include<bits/stdc++.h>
    using namespace std;
    int gcd(int a,int b)
    {
        return b?gcd(b,a%b):a;
    }
    int main()
    {
        int n,a,b;
        cin>>n;
        cin>>a;
        a=abs(a);
        n--;
        while(n--)
        {
            cin>>b;
            a=gcd(a,b);
            a=abs(a);
        }
        cout<<a;
    }
  • 相关阅读:
    善战者无赫赫之功,善医者无煌煌之名
    得到一个空值
    涡轮五字诀
    自定义的泛型类和泛型约束
    数据的格式化
    纸上得来终觉浅,绝知此事要躬行
    DateTime有默认构造函数吗?
    委托,语言级别的设计模式
    有想象力才有进步
    初始的设计思路
  • 原文地址:https://www.cnblogs.com/SFWR-YOU/p/10887110.html
Copyright © 2020-2023  润新知