Gym - 101350C(简单的gcd,最大公约数)

这个题的题意是,求花费最小中盘子最大的.所以求最大公约数就行了.
然后注意数值的范围,用 long long

#include
#include
#include
#include
#include
#include
using namespace std;
typedef long long ll;

ll gcd(ll a, ll b)
{
    return a == 0 ? b : gcd(b % a, a);
}
int main()
{
    int T;
    scanf("%d",&T);

    while (T--) {
        int N;
        scanf("%d",&N);
        ll sum = 0,flag = 0,num;
        for(ll i= 0;i < N;i++){
            scanf("%lld",&num);
            sum += num;
            flag = gcd(num,flag);
        }

        printf("%I64d %I64d\n",sum,flag);
    }
    return 0;
}

你可能感兴趣的:(Gym - 101350C(简单的gcd,最大公约数))