问题描述;
有一个转盘,上面有1--n个位置,每个位置都有不同的丸子数,E和S两个人分别从逆时针与顺时针转,把转盘分成两个区域,判断两区域的丸子总数是否相同。
解决方法:
判断某一区域是否是总数的一半。
代码:#include <iostream>
using namespace std;
int main()
{
int n;
while(cin>>n && n)
{
int a[40], j, sum=0, total=0;
for(int i=1; i<=n; i++)
{
cin>>a[i];
sum+=a[i];
}
for( j=1; j<=n; j++)
{
total+=a[j];
if(2*total == sum) break;
}
if(j<=n)
cout<<"Sam stops at position "<<j
<<" and Ella stops at position "<<j+1<<"."<<endl;
else
cout<<"No equal partitioning."<<endl;
}
return 0;
}
#include <iostream>
using namespace std;
int main()
{
int n;
while(cin>>n && n)
{
int a[40], j, sum=0, total=0;
for(int i=1; i<=n; i++)
{
cin>>a[i];
sum+=a[i];
}
for( j=1; j<=n; j++)
{
total+=a[j];
if(2*total == sum) break;
}
if(j<=n)
cout<<"Sam stops at position "<<j
<<" and Ella stops at position "<<j+1<<"."<<endl;
else
cout<<"No equal partitioning."<<endl;
}
return 0;
}