已知鸡和兔的总量为n,总腿数为m。输入n和m,依次输出鸡的数目和兔的数目。则输出No answer 样例输入: 14 32 样例输出: 12 2 样例输入: 10 16 样例输出: No answer
1 #include2 int main() 3 { 4 int a,b,n,m; 5 scanf("%d%d",&n,&m); 6 a=(4*n-m)/2; 7 b=n-a; 8 if(m%2==1||a<0||b<0) //"m%2==1||a<0||b<0"意思"m是奇数,或a<0,或b<0" 9 printf("No answer\n");10 else11 printf("%d %d\n",a,b);12 return 0;13 }
&和&&的区别:
&:左边无论真假,右边都进行运算
&&:左边为真,右边参与运算
左边为假,短路(右边不参与运算)
“|”和“||”的区别:
|:左边无论真假,右边都进行运算
||:左边为真,短路(右边不参与运算)
所以
&&比&更高效
||比|更高效