[C++][APCS] 最大和

题目出自 APCS 网站 > 历次试题 > 2016-10-29_实作题 > 第二题 最大和
连结

解答仅供参考

解答:

#include <stdio.h>#include <stdlib.h>#include <algorithm>using namespace std;int main(void){    int n, m;    scanf("%d %d", &m, &n);    //将储存最大值的阵列归零    int max_num[m];    for (int i = 0; i < m; i++)    {        max_num[i] = 0;    }    //找出每一群数字的最大值    int num;    int sum = 0;    for (int i = 0; i < m; i++)    {        for (int j = 0; j < n; j++)        {            scanf("%d", &num);            max_num[i] = max(max_num[i], num);        }        sum += max_num[i];    }    printf("%d\n", sum);    //找出可被最大总和整除的被选择数字    bool hasDiv = false;    for (int i = 0; i < m; i++)    {        if (sum % max_num[i] == 0)        {            if (hasDiv)            {                printf(" ");            }            printf("%d", max_num[i]);            hasDiv = true;        }    }    //所有数字都不能整除    if (!hasDiv)    {        printf("-1");    }    system("pause");    return 0;}

输入:

3 21 56 41 1
4 36 3 22 7 94 7 19 5 3

输出:

126 1
31-1

关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章