2015年9月5日 星期六

[UVA] 11059 - Maximum Product

題意:
求最大連乘積。
如果最大連乘積小於0要輸出0。
--------------------------------------------------

方法:
因為資料量不多,
可以枚舉起點和終點,
計算起點到終點的連乘積。

注意!要用long long!

--------------------------------------------------


/* 20150906
 * hanting
 * UVa 11059 - Maximum Product
 * C++
 */
#include <iostream>
using namespace std;
int main()
{
    int N;
    int caseN=1;
    while(cin>>N)
    {
        int num[N];
        for(int i=0;i<N;i++)
        {
            cin>>num[i];
        }
        long long Max=0;//Max最小是0
        for(int i=0;i<N;i++)//start
        {
            for(int j=i+1;j<=N;j++)//end
            {
                long long sum=num[i];
                for(int k=i+1;k<j;k++)
                {
                    sum*=num[k];
                }
                if(Max<sum) Max=sum;
            }
        }
        cout<<"Case #"<<caseN++<<": The maximum product is "<<Max<<"."<<endl<<endl;
    }
    return 0;
}

沒有留言:

張貼留言