【数学基础】多个数的最大公约数

来源:互联网 发布:淘宝男装代理 编辑:程序博客网 时间:2024/05/16 01:16

多个数的最大公约数

Time Limit 1000ms

Memory Limit 65536K

description

给定n(n<=10)个正整数,你的任务就是求它们的最大公约数,所有数据的范围均在long long内。

input

输入数据有多组,每组2行,第一行为n,表示要输入数字的个数,接下来第二行有n个正整数。

output

输出一个数,即这n个数的最大公约数。

sample_input

52 4 6 8 10213 26

sample_output

213

#include <stdio.h>#include <stdlib.h>#define MAX 100010int main(){    long long n;    long long num[MAX]={0};    while(scanf("%lld",&n)!=EOF)    {        long long i,j,a;        for(i=0;i<n;i++)            scanf("%lld",&num[i]);        a=num[0];        j=0;        while(j<n)        {            if(num[j]%a==0)            {                j=j+1;            }            else            {                a=a-1;                j=1;            }        }        printf("%lld\n",a);    }    return 0;}


0 0