需要注意问的是存不存在
而不是能不能在k场内完成
#include<stdio.h>
int n,k;
bool judge() {
for(int i=1; i<=n/2; i++) {
if(i*(n-i)==k)
return true;
}
return false;
}
int main() {
while(scanf("%d %d",&n,&k),n||k)
printf("%s
",judge()?"YES":"NO");
return 0;
}
题目地址:【NYOJ】[813]对决