递归例题:算24

#include 
#include 
#define EPS 1e-6

using namespace std;

double arr[5];

bool isZero(double n){
    if(fabs(n-0)>arr[i];
        }
        if(isZero(arr[0]))
            break;
        if(canfind(arr,4))
            cout<<"YES"<

这道题相对复杂,是属于可以先走一步不断递归降低问题规模的类型,总体思想是不断地将两个数字通过枚举所有的四种运算方法变成一个数字,这样n个数的问题就转化为了n-1个,直到问题简化伪为1个数字是否为24。同时注意代码实现时不要将double=0,注意细节比如除数不能等于0。先行写出边界条件。

你可能感兴趣的:(递归例题:算24)