题解 | #小易的升级之路#

小易的升级之路

http://www.nowcoder.com/practice/fe6c73cb899c4fe1bdd773f8d3b42c3d

#include<stdio.h>
//遍历
// int helper(int m, int n)
// {
//     int res = 0;
//     for(int i=1; i<=n; i++)
//     {
//         if(n%i==0 && m%i==0)
//         {
//             res = i;
//         }
//     }
//     return res;
// }

//辗转相除法
int helper(int m, int n)
{
    int tmp = 0;
    while(m%n != 0)
    {
        tmp = m%n;
        m = n;
        n = tmp;
    }
    return n;
}

int main()
{
    int n, a;
    while(scanf("%d %d", &n, &a) != EOF)
    {
        for(int i=0; i<n; i++)
        {
            int tmp;
            scanf("%d", &tmp);
            if(tmp <= a)
            {
                a += tmp;
            }
            else
            {
                a += helper(tmp, a);
            }
        }
        printf("%d\n", a);
    }
    return 0;
}
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务