首页 技术 正文
技术 2022年11月15日
0 收藏 482 点赞 3,479 浏览 673 个字

https://www.luogu.org/problemnew/show/P4549

(1)证明方程ax+by=gcd(a,b)(a,b为常数;a>0,b>0;a,b,x,y为整数)有解:
参考https://blog.csdn.net/discreeter/article/details/69833579
([x]表示x向下取整)
令d=gcd(a,b)
可得d|a,d|b,d|(ax+by)
设s是(ax+by)得到的数中最小正元素
设s=a*x1+b*y1
设q=[a/s]
则r=a%s=a-[a/s]*s=a-q*(a*x1+b*y1)=a*(1-q*x1)+b*(-q*y1)
显然0<=r<s,因此显然r=0
因此s|a
同理s|b
所以s|d
而由于d|(a*x1+b*y1)
所以d|s
所以d=s
(由(1)容易推断,当gcd(a,b)|c时,ax+by=c有解)

(2)证明ax+by=c(条件同上)有解,则gcd(a,b)|c
不证了。。看起来就是对的

(3)由(1),(2)可得,方程ax+by=c(a,b,c为常数;a>0,b>0;a,b,c,x,y为整数)有解,当且仅当gcd(a,b)|c

可以发现以上证明对于任意个数的数也成立(结论中,gcd(a,b)|c中gcd(a,b)变成gcd(a,b,c,d,..))

所以此题只要输出n个数的gcd即可

from math import *
n=int(input())
data=input().split(' ')
an=0
for i in range(n):
an=gcd(an,int(data[i]))
print(an)
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,104
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,581
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,428
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,200
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,835
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,918