#include
using namespace std;
int flag=0;
int Calculate(float x,float y,float z,float w);//a b c d的所有排列组合情况
int check(int *a,int *b,int *c,int *d);
int main()
{
int a,b,c,d;
m_ret: //做标记
cout<
cout<
cin>>a;
cout<
cin>>b;
cout<
cin>>c;
cout<
cin>>d;
cout<
if ((a<0)||(a>13)||(b<0)||(b>13)||(c<0)||(c>13)||(d<0)||(d>13))
{
cout<
goto m_ret;
} // 返回标记,重复输入
if(check(&a,&b,&c,&d)==0)//分成五种情况,都不想等,有两个相等(两种),有三个相等,有四个相等 ,并且把相等的往后放
{
Calculate(a,b,c,d); Calculate(a,b,d,c); Calculate(a,c,d,b);
Calculate(a,c,b,d); Calculate(a,d,b,c); Calculate(a,d,c,b);
Calculate(b,a,c,d); Calculate(b,a,d,c); Calculate(b,c,a,d);
Calculate(b,c,d,a); Calculate(b,d,c,a); Calculate(b,d,a,c);
Calculate(c,a,b,d); Calculate(c,a,d,b); Calculate(c,b,d,a);
Calculate(c,b,a,d); Calculate(c,d,a,b); Calculate(c,d,b,a);
Calculate(d,a,b,c); Calculate(d,a,c,b); Calculate(d,b,c,a);
Calculate(d,b,a,c); Calculate(d,c,a,b); Calculate(d,c,b,a);
}
else if(check(&a,&b,&c,&d)==1) //只有一组一样的,即交换后的c和d
{
Calculate(a,b,c,d);
Calculate(a,c,d,b);
Calculate(a,c,b,d); Calculate(a,d,c,b);
Calculate(b,a,c,d); Calculate(b,c,a,d);
Calculate(b,c,d,a);
Calculate(c,a,b,d); Calculate(c,a,d,b); Calculate(c,b,d,a);
Calculate(c,b,a,d); Calculate(c,d,a,b); Calculate(c,d,b,a);
}
else if(check(&a,&b,&c,&d)==2) //有两组一样的,即交换后的a和b c和d
{
Calculate(a,b,c,d); Calculate(a,c,d,b); Calculate(a,c,b,d);
Calculate(c,a,b,d); Calculate(c,a,d,b); Calculate(c,d,a,b);
}
else if(check(&a,&b,&c,&d)==3)
{
Calculate(a,b,c,d);Calculate(b,a,c,d);
Calculate(c,b,a,d);Calculate(d,b,c,a);
}
else
Calculate(a,b,c,d);
if(flag==0)
cout<
else
cout<
return 0;
}
int Calculate(float x,float y,float z,float w) //运算表达式的所有情况,里面的x,y,z,w位置相对固定,所以所有情况,靠主函数里面对他们进行排序
{
if (x+y+z+w==24) {cout<
else if (x+y+z-w==24) {cout<
else if ((x+y)*(z+w)==24) {cout<
else if ((x-y)*(z+w)==24) {cout<
else if ((x-y)*(z-w)==24) {cout<
else if ((x+y+z)*w==24) {cout<
else if ((x-y-z)*w==24) {cout<
else if ((x+y-z)*w==24) {cout<
else if ((x-y+z)*w==24) {cout<
else if ((x*y*z)/w==24) {cout<
else if ((x*y)*(z+w)==24) {cout<
else if ((x*y)*(z-w)==24) {cout<
else if ((x*y)*z-w==24) {cout<
else if ((x*y)*z+w==24) {cout<
else if (x*y*z*w==24) {cout<
else if ((x+y)+(z/w)==24) {cout<
else if ((x+y)*(z/w)==24) {cout<
else if ((x*y)+z+w==24) {cout<
else if ((x*y)+z-w==24) {cout<
else if ((x*y)-(z/w)==24) {cout<
else if ((x*y)+(z/w)==24) {cout<
else if ((x*y)-z-w==24) {cout<
else if ((x*y)+(z*w)==24) {cout<
else if ((x*y)-(z*w)==24) {cout<
else if ((x*y)/(z*w)==24) {cout<
else if ((x*y)/(z-w)==24) {cout<
else if ((x*y)/(z+w)==24) {cout<
else if ((x*y+z)/w==24) {cout<
else if ((x*y-z)/w==24) {cout<
else if ((x/y+z)/w==24) {cout<
else if ((x/y-z)/w==24) {cout<