Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <stdio.h>#include <math.h>const int MAXN=4;double nums[MAXN];bool isSolve=false;void dfs(int n){if(isSolve)return;if(n==1&&fabs(nums[0]-24)<=1e-10){isSolve=true;return;}for(int i=0;i<n;i++){for(int j=i+1;j<n;j++){double a=nums[i];double b=nums[j];nums[j]=nums[n-1];nums[i]=a+b;dfs(n-1);nums[i]=a-b;dfs(n-1);nums[i]=b-a;dfs(n-1);nums[i]=a*b;dfs(n-1);if(a!=0){