gcd(a, b, c) = gcd(gcd(a, b), c)

某一天,我正苦逼的刷题看题解,看到下面的代码

int tmp=0;
		for(int i=1;i<=n;++i){
			scanf("%d",&a[i]);
			tmp=gcd(tmp,a[i]);
		}

​ 我心中一惊:wc,这就能求gcd(a1, a2, a3, ..., an)了?于是,乐于去探索(被数论折磨到精神不正常)的我就想怎么用数学过程推理证明。

​ 我们发现,只要证明gcd(a, b, c) = gcd(gcd(a, b), c)就好了。在纸上勾勾画画半天,突然,灵光一闪,发现能够用分解质因数证明如下:

gcd(a, b, c) = gcd(gcd(a, b), c)

知识+1:)

原文链接: https://www.cnblogs.com/kekekuli/p/17020512.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    gcd(a, b, c) = gcd(gcd(a, b), c)

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/309134

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月16日 上午10:52
下一篇 2023年2月16日 上午10:53

相关推荐