@sensitive-cs
2016-10-04T17:06:25.000000Z
字数 573
阅读 827
给出许多包裹,从中取一个包裹粗来,让剩下的包裹中的cookies是偶数,问有多少种取法。
用数组保存每一个包裹中的cookie数,用一个sum计算cookies的总数。之后用一个循环,检验sum减去每一个包裹中的cookie数后是否为整数,用一个flag保存way。
#include <stdio.h>
void sortion(int n,int a[]);
int main()
{
int n;
int a[110];
while (scanf("%d",&n) != EOF)
{
int flag = 0;
int i,sum = 0;
for (i = 0;i < 110;i++)
a[i] = 0;
for (i = 0;i < n;i++)
{
scanf("%d",&a[i]);
sum += a[i];
}
sortion(n,a);
for (i = 0;i < n;i++)
{
int temp = sum - a[i];
if (temp % 2 == 0)
flag++;
}
printf("%d\n",flag);
}
return 0;
}
void sortion(int n,int a[])
{
int i,j;
for (i = 0;i < n;i++)
for (j = i+1;j < n;j++)
{
if (a[i] > a[j])
{
int temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}