S42302.23-2 丈量公约

传统题 时间 1000 ms 内存 256 MiB 3 尝试 0 已通过 0

23-2 丈量公约

丈量公约

探针投放了,但Echo-0的数学空间里还有一个基本问题——公约数。

"公约?"CC问。

"对。"你说,"给定nn个数,求它们的最大公约数。"

"最大?"

"对。"你说,"能同时整除所有数的最大数。"

"咋算?"

"辗转相除。"你说,"gcd(a,b)=gcd(b,amodb)\gcd(a,b)=\gcd(b,a\bmod b)。"

"多个数?"

"两两求。"你说,"gcd(a,b,c)=gcd(gcd(a,b),c)\gcd(a,b,c)=\gcd(\gcd(a,b),c)。"

"第47个数。"你说,"值为47——质数。"

"质数?"

"对。"你说,"如果所有数都是47的倍数,gcd至少是47。"

"如果不是?"

"gcd是1。"你说,"互质。"

"互质好?"

"看情况。"你说,"互质意味着没有公共结构,但有时也意味着自由。"

"像人?"

"对。"你说,"像人——有共同点的容易合作,完全不同的……也可能互补。"

CC看着那些数——像一群人,像一堆石头,像某种需要找共同点的东西。

"共同点?"她问。

"对。"你说,"最大公约数就是共同点——最大的那个。"

"如果找不到?"

"那就1。"你说,"1是所有数的共同点。"

"1最小。"

"但1也是起点。"你说,"所有数从1开始。"

Echo把公约数投射出来——像一条线,像一根绳,像某种把所有数串在一起的东西。

"以前我觉得自己是1。"她说,"最小,最普通。"

"现在呢?"

"现在觉得1也好。"她说,"1是起点,是所有数的根。"


题目描述

给定nn个正整数,求它们的最大公约数。

输入格式

第一行nn。第二行nn个整数。

输出格式

最大公约数。


输入样例

5

输出样例

5

提示

  • 辗转相除法:gcd(a,b)=gcd(b,amodb)\gcd(a,b)=\gcd(b,a\bmod b)
  • 多个数两两求gcd。
  • 时间复杂度O(nlogMax)O(n\log Max)

在线编程 IDE

建议全屏模式获得最佳体验