思路(反证法):
1.桌上有十个苹果,要把这十个苹果放到九个抽屉里,无论怎样放,我们会发现至少会有一个抽屉里面至少放两个苹果。这一现象就是我们所说的“抽屉原理”。
2.反证法:假设这n个数都选了,但是没有找到任何一种选择方案使得选择出来的数的和是n的整数倍,选择的n个数表示为a1,a2,...,an,
那么s1 = a1,s2 = a1 + a2,...,sn = a1 + a2 + ... + an,都不能被n整除,
3.sn % n的余数只可能是1,2,...,n - 1,所以根据抽屉原理,一定有两个:si,sj ,使得si % n == sj % n,
4.又有所给的数都是正整数,所以si - sj 的值一定为kn,那么只要k != 0,原命题就一定成立!
#include<stdio.h>
main()
{
int t,n,x;
scanf("%d",&t);
for(int k=1;k<=t;k++)
{
scanf("%d",&n);
for(int i=0;i<n;i++)
scanf("%d",&x);
printf("Case #%d: ",k);
if(n==0) printf("No\n");
else printf("Yes\n");
}
}