这个属于初级阶段传递给初学者的一个思想,那就是计算机是不可以计算方程式的,需要你具体的告诉它每一步需要做什么。
源码如下:
#include<iostream>
#include<bits/stdc++.h>
using namespace std;
int main()
{
int m,n;
double x,y;
cin>>n>>m;
x=(4*n-m)/2;
y=n-x;
//if(x==fabs(x)&&x>=0&&y>=0) //我的想法
if(m%2!=0&&x>=0&&y>=0) //题解的思路
{
cout<<x<<" "<<n-x<<endl;
}
else
{
cout<<"No answer"<<endl;
}
return 0;
}
这里我的想法比较简单直接,直接考虑鸡和兔的个数为整,且大于等于0。
题解的思路也不错,即腿的总数量一定为偶数,奇数的直接输出no answer。
收获:
1.逻辑运算法都是短路运算符。
“||”逻辑或前为真,即后不判。
&&“逻辑与前为假,即后不判。
2.绝对值函数的复习
abs(int) 整数绝对值
fabs(double) 实数绝对值
fabsf(float) 浮点数绝对值