1 /*描述 2 Topcoder要招进来了 n 个新同学,Yougth计划把这个n个同学分成两组,要求每组中每个人必须跟另一组中每个同学进行一次算法对决,问存不存在一种分组方式在k场完成对决。(两组中每一组中人数都要大于0) 3 4 输入 5 有多组测试数据,每组测试数据两个数 n 和 k ,n和k都为0时表示输入结束。(0<n<10000,0<k<1000000) 6 输出 7 输出一行,如果可以,输出YES,不行的话输出NO。 8 样例输入 9 4 1 10 4 3 11 4 4 12 2 1 13 3 3 14 0 0 15 样例输出 16 NO 17 YES 18 YES 19 YES 20 NO*/ 21 #include<stdio.h> 22 int main() 23 { 24 long int k,n; 25 while(scanf("%d %d",&n,&k)!=EOF&&n&&k) 26 { 27 int i; 28 for(i=1;i<=n/2;i++) 29 if(k==i*(n-i)){ 30 printf("YES\n"); 31 break;} 32 if(i>n/2) 33 printf("NO\n"); 34 } 35 return 0; 36 } 37 38