用于寻找一组数据中的优秀子序列,用如毛毛虫爬行的方式寻找子序列的方法就是尺取。
问题:
输入一组数据,寻找超过某个数的最小的子序列,并输出其个数。
输出:
若所有数据相加仍未超过此数,输出0;若超过,输出找个子序列中的数据个数。
代码:
#include<stdio.h>
int main()
{
int i,n,m,a[1000],b[100]={0},sum=0,j,k,l,min;
scanf("%d %d",&n,&m);
for(i=0;i<=n-1;i++)
{
scanf("%d",&a[i]);
}
while(1)
{
j=0;
sum=sum+a[i];
while(sum>=m)
{
sum=sum-a[j];
j++;
break;
}
i++;
if(i==n)
break;
}
printf("%d",i-j);
}