// HEADTAIL.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
int HEADTAIL(int x[],int nx)
{
int sumHead=x[0];
int sumTail=x[nx-1];
int indexHead=0;
int indexTail=nx-1;
int count=0;
while(indexHead<=nx-1 && indexTail>=0)
{
if(sumHead>sumTail)
{
--indexTail;
sumTail+=x[indexTail];
}
else if(sumHead<sumTail)
{
++indexHead;
sumHead+=x[indexHead];
}
else
{
count+=1;
printf("count=%3d,%3d=%3d\n",count,sumHead,sumTail);
--indexTail;
sumTail+=x[indexTail];
++indexHead;
sumHead+=x[indexHead];
}
}
return count;
}
int main(int argc, char* argv[])
{
int x[]={3,6,2,1,4,5,2};
int nx=sizeof(x)/sizeof(int);
int HEADTAIL_=HEADTAIL(x,nx);
printf("HEADTAIL_=%3d!\n",HEADTAIL_);
return 0;
}
/*
count= 1, 11= 11
count= 2, 12= 12
count= 3, 23= 23
HEADTAIL_= 3!
Press any key to continue
*/