求最大連乘積。
如果最大連乘積小於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;
}
沒有留言:
張貼留言