输入n个元素组成的序列S,找出一个乘积最大的连续子序列。
样例输入:
3
2 4 -3
样例输出:
8
#include<stdio.h>
int main()
{
long long int s, max;
int n;
int num[22];
max = 0;
scanf("%d", &n);
for (int m = 0; m < n; m++)
{
scanf("%d", &num[m]);
}
for (int i = 0; i < n; i++)//起始位置
{
for (int j = i; j < n; j++)//结束点位置
{
s = 1;
for (int k = i; k <= j; k++)//起点至终点数据乘积
{
s *= num[k];
}
if (s > max)
{
max = s;
}
}
}
printf("%lld",max);
return 0;
}