8,8,3,3 怎样算,才能得出24, 大家都是高手,不是吗??? ljren_t(立志):8/(3-(8/3)) =3/2啊 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 dbcontrols(泰山):这是多少,你看清楚点. 8--------------- 8 3- ----- 3 ljren_t(立志)的答案正确,加分! I want you will to leave and to home dohomework in the sun,bibi 真的很难编吗?//VC++下编译#include<iostream.h>char h[4]={'/','-','*','+'};int n[4];union Tr0{ char t; int i;} a[7];int flag;double countme1(void);double countme2(void);double countme3(void);double countme4(void);double countme5(void);void printme1(void);void printme2(void);void printme3(void);void printme4(void);void printme5(void);int main(void){while (1){ flag=0; cout<<"Please Input 4 Numbers:\n"; cin>>n[0]>>n[1]>>n[2]>>n[3]; ///// for(int i0=0;i0<4;i0++) {a[0].t=h[i0]; for(int i1=0;i1<4;i1++) {a[1].t=h[i1]; for(int i2=0;i2<4;i2++) {a[2].t=h[i2]; for(int i3=0;i3<4;i3++) {a[3].i=n[i3]; for(int i4=0;i4<4;i4++) if(i4!=i3) {a[4].i=n[i4]; for(int i5=0;i5<4;i5++) if(i5!=i4&&i5!=i3) {a[5].i=n[i5]; for(int i6=0;i6<4;i6++) if(i6!=i5&&i6!=i4&&i6!=i3) {a[6].i=n[i6]; if(countme1()==24) { printme1();} if(countme2()==24) { printme2();} if(countme3()==24) { printme3();} if(countme4()==24) { printme4();} if(countme5()==24) { printme5();} } } } } } } }/////////////////////if (!flag) cout<<"It can not 24 !!!"<<endl;else cout<<"Sum is :"<<flag<<endl;/////////////////////}return 0;}double countme1(void){ double tmp1=0.0,tmp2=0.0,tmp=0.0; switch(a[1].t) { case '+': tmp1=a[3].i+a[4].i; break; case '-': tmp1=a[3].i-a[4].i; break; case '*': tmp1=a[3].i*a[4].i; break; case '/': if(a[4].i!=0) {tmp1=(double)a[3].i/(double)a[4].i; break;} } switch(a[2].t) { case '+': tmp2=a[5].i+a[6].i; break; case '-': tmp2=a[5].i-a[6].i; break; case '*': tmp2=a[5].i*a[6].i; break; case '/': if(a[6].i!=0) {tmp2=(double)a[5].i/(double)a[6].i; break;} } switch(a[0].t) { case '+': tmp=tmp1+tmp2;break; case '-': tmp=tmp1-tmp2;break; case '*': tmp=tmp1*tmp2;break; case '/': if(tmp2!=0) {tmp=(double)tmp1/(double)tmp2; break;} } return tmp;}double countme2(void){ double tmp=0.0; switch(a[2].t) { case '+': tmp=a[3].i+a[4].i; break; case '-': tmp=a[3].i-a[4].i; break; case '*': tmp=a[3].i*a[4].i; break; case '/': if(a[4].i!=0) {tmp=(double)a[3].i/(double)a[4].i; break;} } switch(a[1].t) { case '+': tmp=tmp+a[5].i; break; case '-': tmp=tmp-a[5].i; break; case '*': tmp=tmp*a[5].i; break; case '/': if(a[5].i!=0) {tmp=(double)tmp/(double)a[5].i; break;} } switch(a[0].t) { case '+': tmp=tmp+a[6].i;break; case '-': tmp=tmp-a[6].i;break; case '*': tmp=tmp*a[6].i;break; case '/': if(a[6].i!=0) {tmp=(double)tmp/(double)a[6].i; break;} } return tmp;}double countme3(void){ double tmp=0.0; switch(a[2].t) { case '+': tmp=a[3].i+a[4].i; break; case '*': tmp=a[3].i*a[4].i; break; case '-': tmp=a[3].i-a[4].i; break; case '/': if(a[4].i!=0) {tmp=(double)a[3].i/(double)a[4].i; break;} } switch(a[1].t) { case '+': tmp=a[5].i+tmp; break; case '-': tmp=a[5].i-tmp; break; case '*': tmp=a[5].i*tmp; break; case '/': if(tmp!=0) {tmp=(double)a[5].i/(double)tmp; break;} } switch(a[0].t) { case '+': tmp=tmp+a[6].i;break; case '-': tmp=tmp-a[6].i;break; case '*': tmp=tmp*a[6].i;break; case '/': if(a[6].i!=0) {tmp=(double)tmp/(double)a[6].i; break;} } return tmp;}double countme4(void){ double tmp=0.0; switch(a[2].t) { case '+': tmp=a[3].i+a[4].i; break; case '-': tmp=a[3].i-a[4].i; break; case '*': tmp=a[3].i*a[4].i; break; case '/': if(a[4].i!=0) {tmp=(double)a[3].i/(double)a[4].i; break;} } switch(a[1].t) { case '+': tmp=a[5].i+tmp; break; case '-': tmp=a[5].i-tmp; break; case '*': tmp=a[5].i*tmp; break; case '/': if(tmp!=0) {tmp=(double)a[5].i/(double)tmp; break;} } switch(a[0].t) { case '+': tmp=a[6].i+tmp;break; case '-': tmp=a[6].i-tmp;break; case '*': tmp=a[6].i*tmp;break; case '/': if(tmp!=0) {tmp=(double)a[6].i/(double)tmp; break;} } return tmp;}double countme5(void){ double tmp=0.0; switch(a[2].t) { case '+': tmp=a[3].i+a[4].i; break; case '-': tmp=a[3].i-a[4].i; break; case '*': tmp=a[3].i*a[4].i; break; case '/': if(a[4].i!=0) {tmp=(double)a[3].i/(double)a[4].i; break;} } switch(a[1].t) { case '+': tmp=tmp+a[5].i; break; case '-': tmp=tmp-a[5].i; break; case '*': tmp=tmp*a[5].i; break; case '/': if(a[5].i!=0) {tmp=(double)tmp/(double)a[5].i; break;} } switch(a[0].t) { case '+': tmp=a[6].i+tmp;break; case '-': tmp=a[6].i-tmp;break; case '*': tmp=a[6].i*tmp;break; case '/': if(tmp!=0) {tmp=(double)a[6].i/(double)tmp; break;} } return tmp;}void printme1(void){ flag++;cout<<" "<<"("<<a[3].i<<a[1].t<<a[4].i<<")"<<a[0].t<<"("<<a[5].i<<a[2].t<<a[6].i<<")";cout<<" .............1\n";}void printme2(void){ flag++;cout<<" "<<"(("<<a[3].i<<a[2].t<<a[4].i<<")"<<a[1].t<<a[5].i<<")"<<a[0].t<<a[6].i;cout<<" .............2\n";}void printme3(void){ flag++;cout<<" "<<"("<<a[5].i<<a[1].t<<"("<<a[3].i<<a[2].t<<a[4].i<<"))"<<a[0].t<<a[6].i;cout<<" .............3\n";}void printme4(void){ flag++;cout<<" "<<a[6].i<<a[0].t<<"("<<a[5].i<<a[1].t<<"("<<a[3].i<<a[2].t<<a[4].i<<"))";cout<<" .............4\n";}void printme5(void){ flag++;cout<<" "<<a[6].i<<a[0].t<<"(("<<a[3].i<<a[2].t<<a[4].i<<")"<<a[1].t<<a[5].i<<")";cout<<" .............5\n";} 修正一下://VC++下编译#include<iostream.h>#include<math.h>char h[4]={'/','-','*','+'};int n[4];union Tr0{ char t; int i;} a[7];int flag;double countme1(void);double countme2(void);double countme3(void);double countme4(void);double countme5(void);void printme1(void);void printme2(void);void printme3(void);void printme4(void);void printme5(void);int main(void){while (1){ flag=0; cout<<"Please Input 4 Numbers:\n"; cin>>n[0]>>n[1]>>n[2]>>n[3]; ///// for(int i0=0;i0<4;i0++) {a[0].t=h[i0]; for(int i1=0;i1<4;i1++) {a[1].t=h[i1]; for(int i2=0;i2<4;i2++) {a[2].t=h[i2]; for(int i3=0;i3<4;i3++) {a[3].i=n[i3]; for(int i4=0;i4<4;i4++) if(i4!=i3) {a[4].i=n[i4]; for(int i5=0;i5<4;i5++) if(i5!=i4&&i5!=i3) {a[5].i=n[i5]; for(int i6=0;i6<4;i6++) if(i6!=i5&&i6!=i4&&i6!=i3) {a[6].i=n[i6]; if(fabs(countme1()-24)<0.000001) { printme1();} if(fabs(countme2()-24)<0.000001) { printme2();} if(fabs(countme3()-24)<0.000001) { printme3();} if(fabs(countme4()-24)<0.000001) { printme4();} if(fabs(countme5()-24)<0.000001) { printme5();} } } } } } } }/////////////////////if (!flag) cout<<"It can not 24 !!!"<<endl;else cout<<"Sum is :"<<flag<<endl;/////////////////////}return 0;}double countme1(void){ double tmp1=0.0,tmp2=0.0,tmp=0.0; switch(a[1].t) { case '+': tmp1=a[3].i+a[4].i; break; case '-': tmp1=a[3].i-a[4].i; break; case '*': tmp1=a[3].i*a[4].i; break; case '/': if(a[4].i!=0) {tmp1=(double)a[3].i/(double)a[4].i; break;} } switch(a[2].t) { case '+': tmp2=a[5].i+a[6].i; break; case '-': tmp2=a[5].i-a[6].i; break; case '*': tmp2=a[5].i*a[6].i; break; case '/': if(a[6].i!=0) {tmp2=(double)a[5].i/(double)a[6].i; break;} } switch(a[0].t) { case '+': tmp=tmp1+tmp2;break; case '-': tmp=tmp1-tmp2;break; case '*': tmp=tmp1*tmp2;break; case '/': if(tmp2!=0) {tmp=(double)tmp1/(double)tmp2; break;} } return tmp;}double countme2(void){ double tmp=0.0; switch(a[2].t) { case '+': tmp=a[3].i+a[4].i; break; case '-': tmp=a[3].i-a[4].i; break; case '*': tmp=a[3].i*a[4].i; break; case '/': if(a[4].i!=0) {tmp=(double)a[3].i/(double)a[4].i; break;} } switch(a[1].t) { case '+': tmp=tmp+a[5].i; break; case '-': tmp=tmp-a[5].i; break; case '*': tmp=tmp*a[5].i; break; case '/': if(a[5].i!=0) {tmp=(double)tmp/(double)a[5].i; break;} } switch(a[0].t) { case '+': tmp=tmp+a[6].i;break; case '-': tmp=tmp-a[6].i;break; case '*': tmp=tmp*a[6].i;break; case '/': if(a[6].i!=0) {tmp=(double)tmp/(double)a[6].i; break;} } return tmp;}double countme3(void){ double tmp=0.0; switch(a[2].t) { case '+': tmp=a[3].i+a[4].i; break; case '*': tmp=a[3].i*a[4].i; break; case '-': tmp=a[3].i-a[4].i; break; case '/': if(a[4].i!=0) {tmp=(double)a[3].i/(double)a[4].i; break;} } switch(a[1].t) { case '+': tmp=a[5].i+tmp; break; case '-': tmp=a[5].i-tmp; break; case '*': tmp=a[5].i*tmp; break; case '/': if(tmp!=0) {tmp=(double)a[5].i/(double)tmp; break;} } switch(a[0].t) { case '+': tmp=tmp+a[6].i;break; case '-': tmp=tmp-a[6].i;break; case '*': tmp=tmp*a[6].i;break; case '/': if(a[6].i!=0) {tmp=(double)tmp/(double)a[6].i; break;} } return tmp;}double countme4(void){ double tmp=0.0; switch(a[2].t) { case '+': tmp=a[3].i+a[4].i; break; case '-': tmp=a[3].i-a[4].i; break; case '*': tmp=a[3].i*a[4].i; break; case '/': if(a[4].i!=0) {tmp=(double)a[3].i/(double)a[4].i; break;} } switch(a[1].t) { case '+': tmp=a[5].i+tmp; break; case '-': tmp=a[5].i-tmp; break; case '*': tmp=a[5].i*tmp; break; case '/': if(tmp!=0) {tmp=(double)a[5].i/(double)tmp; break;} } switch(a[0].t) { case '+': tmp=a[6].i+tmp;break; case '-': tmp=a[6].i-tmp;break; case '*': tmp=a[6].i*tmp;break; case '/': if(tmp!=0) {tmp=(double)a[6].i/(double)tmp; break;} } return tmp;}double countme5(void){ double tmp=0.0; switch(a[2].t) { case '+': tmp=a[3].i+a[4].i; break; case '-': tmp=a[3].i-a[4].i; break; case '*': tmp=a[3].i*a[4].i; break; case '/': if(a[4].i!=0) {tmp=(double)a[3].i/(double)a[4].i; break;} } switch(a[1].t) { case '+': tmp=tmp+a[5].i; break; case '-': tmp=tmp-a[5].i; break; case '*': tmp=tmp*a[5].i; break; case '/': if(a[5].i!=0) {tmp=(double)tmp/(double)a[5].i; break;} } switch(a[0].t) { case '+': tmp=a[6].i+tmp;break; case '-': tmp=a[6].i-tmp;break; case '*': tmp=a[6].i*tmp;break; case '/': if(tmp!=0) {tmp=(double)a[6].i/(double)tmp; break;} } return tmp;}void printme1(void){ flag++;cout<<" "<<"("<<a[3].i<<a[1].t<<a[4].i<<")"<<a[0].t<<"("<<a[5].i<<a[2].t<<a[6].i<<")";cout<<" .............1\n";}void printme2(void){ flag++;cout<<" "<<"(("<<a[3].i<<a[2].t<<a[4].i<<")"<<a[1].t<<a[5].i<<")"<<a[0].t<<a[6].i;cout<<" .............2\n";}void printme3(void){ flag++;cout<<" "<<"("<<a[5].i<<a[1].t<<"("<<a[3].i<<a[2].t<<a[4].i<<"))"<<a[0].t<<a[6].i;cout<<" .............3\n";}void printme4(void){ flag++;cout<<" "<<a[6].i<<a[0].t<<"("<<a[5].i<<a[1].t<<"("<<a[3].i<<a[2].t<<a[4].i<<"))";cout<<" .............4\n";}void printme5(void){ flag++;cout<<" "<<a[6].i<<a[0].t<<"(("<<a[3].i<<a[2].t<<a[4].i<<")"<<a[1].t<<a[5].i<<")";cout<<" .............5\n";} N个数计算步骤一共N-1步(每步都是2个数之间的运算),每步有(n-1)*(n-2)种可能的组合排列组合一共[(N-1)*(N-2)]*[(n-2)*(n-3)]。。[2*1]种可能因为是4则运算所以再乘上4^(N-1)n=4时一共196中可能用穷举法应该可行的 这里是VB地方 VC++ 怎么也来了 VB连接SQL SERVER 问题。。。 如何用VB6设置excelR的整个工作的格多为居中? 在任务栏上弹出提示信息,怎么做? VB连接MYSQL,recordcount返回-1 VB跟PLC通讯问题?????????? 各位大哥,不能触发触发器不能执行,急急急,在线等,up有分 一个串口通讯的郁闷问题!! 怎样得到程序所在的路径 急盼高手指点!!! 想问一下大家,学VB是搞数据库开发好还是搞组件开发好呀! VB中dim,static与private有何不同,请各位帮忙! 在哪里能找到ListView控件或有谁能给我发一份此控件,不胜感激!!!
这是多少,你看清楚点.
8
---------------
8
3- -----
3
#include<iostream.h>
char h[4]={'/','-','*','+'};
int n[4];
union Tr0{
char t;
int i;
} a[7];
int flag;
double countme1(void);
double countme2(void);
double countme3(void);
double countme4(void);
double countme5(void);void printme1(void);
void printme2(void);
void printme3(void);
void printme4(void);
void printme5(void);int main(void)
{while (1)
{
flag=0;
cout<<"Please Input 4 Numbers:\n";
cin>>n[0]>>n[1]>>n[2]>>n[3];
/////
for(int i0=0;i0<4;i0++)
{a[0].t=h[i0];
for(int i1=0;i1<4;i1++)
{a[1].t=h[i1];
for(int i2=0;i2<4;i2++)
{a[2].t=h[i2];
for(int i3=0;i3<4;i3++)
{a[3].i=n[i3];
for(int i4=0;i4<4;i4++)
if(i4!=i3)
{a[4].i=n[i4];
for(int i5=0;i5<4;i5++)
if(i5!=i4&&i5!=i3)
{a[5].i=n[i5];
for(int i6=0;i6<4;i6++)
if(i6!=i5&&i6!=i4&&i6!=i3)
{a[6].i=n[i6]; if(countme1()==24)
{ printme1();} if(countme2()==24)
{ printme2();} if(countme3()==24)
{ printme3();} if(countme4()==24)
{ printme4();} if(countme5()==24)
{ printme5();}
}
}
}
}
}
}
}
/////////////////////
if (!flag) cout<<"It can not 24 !!!"<<endl;
else cout<<"Sum is :"<<flag<<endl;
/////////////////////
}return 0;
}double countme1(void)
{
double tmp1=0.0,tmp2=0.0,tmp=0.0; switch(a[1].t)
{
case '+':
tmp1=a[3].i+a[4].i; break;
case '-':
tmp1=a[3].i-a[4].i; break;
case '*':
tmp1=a[3].i*a[4].i; break;
case '/':
if(a[4].i!=0) {tmp1=(double)a[3].i/(double)a[4].i; break;}
}
switch(a[2].t)
{
case '+':
tmp2=a[5].i+a[6].i; break;
case '-':
tmp2=a[5].i-a[6].i; break;
case '*':
tmp2=a[5].i*a[6].i; break;
case '/':
if(a[6].i!=0) {tmp2=(double)a[5].i/(double)a[6].i; break;}
}
switch(a[0].t)
{
case '+':
tmp=tmp1+tmp2;break;
case '-':
tmp=tmp1-tmp2;break;
case '*':
tmp=tmp1*tmp2;break;
case '/':
if(tmp2!=0) {tmp=(double)tmp1/(double)tmp2; break;}
}
return tmp;
}double countme2(void)
{
double tmp=0.0; switch(a[2].t)
{
case '+':
tmp=a[3].i+a[4].i; break;
case '-':
tmp=a[3].i-a[4].i; break;
case '*':
tmp=a[3].i*a[4].i; break;
case '/':
if(a[4].i!=0) {tmp=(double)a[3].i/(double)a[4].i; break;}
}
switch(a[1].t)
{
case '+':
tmp=tmp+a[5].i; break;
case '-':
tmp=tmp-a[5].i; break;
case '*':
tmp=tmp*a[5].i; break;
case '/':
if(a[5].i!=0) {tmp=(double)tmp/(double)a[5].i; break;}
}
switch(a[0].t)
{
case '+':
tmp=tmp+a[6].i;break;
case '-':
tmp=tmp-a[6].i;break;
case '*':
tmp=tmp*a[6].i;break;
case '/':
if(a[6].i!=0) {tmp=(double)tmp/(double)a[6].i; break;}
}
return tmp;
}double countme3(void)
{
double tmp=0.0; switch(a[2].t)
{
case '+':
tmp=a[3].i+a[4].i; break;
case '*':
tmp=a[3].i*a[4].i; break;
case '-':
tmp=a[3].i-a[4].i; break;
case '/':
if(a[4].i!=0) {tmp=(double)a[3].i/(double)a[4].i; break;}
}
switch(a[1].t)
{
case '+':
tmp=a[5].i+tmp; break;
case '-':
tmp=a[5].i-tmp; break;
case '*':
tmp=a[5].i*tmp; break;
case '/':
if(tmp!=0) {tmp=(double)a[5].i/(double)tmp; break;}
}
switch(a[0].t)
{
case '+':
tmp=tmp+a[6].i;break;
case '-':
tmp=tmp-a[6].i;break;
case '*':
tmp=tmp*a[6].i;break;
case '/':
if(a[6].i!=0) {tmp=(double)tmp/(double)a[6].i; break;}
}
return tmp;
}double countme4(void)
{
double tmp=0.0; switch(a[2].t)
{
case '+':
tmp=a[3].i+a[4].i; break;
case '-':
tmp=a[3].i-a[4].i; break;
case '*':
tmp=a[3].i*a[4].i; break;
case '/':
if(a[4].i!=0) {tmp=(double)a[3].i/(double)a[4].i; break;}
}
switch(a[1].t)
{
case '+':
tmp=a[5].i+tmp; break;
case '-':
tmp=a[5].i-tmp; break;
case '*':
tmp=a[5].i*tmp; break;
case '/':
if(tmp!=0) {tmp=(double)a[5].i/(double)tmp; break;}
}
switch(a[0].t)
{
case '+':
tmp=a[6].i+tmp;break;
case '-':
tmp=a[6].i-tmp;break;
case '*':
tmp=a[6].i*tmp;break;
case '/':
if(tmp!=0) {tmp=(double)a[6].i/(double)tmp; break;}
}
return tmp;
}double countme5(void)
{
double tmp=0.0; switch(a[2].t)
{
case '+':
tmp=a[3].i+a[4].i; break;
case '-':
tmp=a[3].i-a[4].i; break;
case '*':
tmp=a[3].i*a[4].i; break;
case '/':
if(a[4].i!=0) {tmp=(double)a[3].i/(double)a[4].i; break;}
}
switch(a[1].t)
{
case '+':
tmp=tmp+a[5].i; break;
case '-':
tmp=tmp-a[5].i; break;
case '*':
tmp=tmp*a[5].i; break;
case '/':
if(a[5].i!=0) {tmp=(double)tmp/(double)a[5].i; break;} }
switch(a[0].t)
{
case '+':
tmp=a[6].i+tmp;break;
case '-':
tmp=a[6].i-tmp;break;
case '*':
tmp=a[6].i*tmp;break;
case '/':
if(tmp!=0) {tmp=(double)a[6].i/(double)tmp; break;}
}
return tmp;
}void printme1(void)
{
flag++;
cout<<" "<<"("<<a[3].i<<a[1].t<<a[4].i<<")"<<a[0].t<<"("<<a[5].i<<a[2].t<<a[6].i<<")";
cout<<" .............1\n";
}void printme2(void)
{
flag++;
cout<<" "<<"(("<<a[3].i<<a[2].t<<a[4].i<<")"<<a[1].t<<a[5].i<<")"<<a[0].t<<a[6].i;
cout<<" .............2\n";
}void printme3(void)
{
flag++;
cout<<" "<<"("<<a[5].i<<a[1].t<<"("<<a[3].i<<a[2].t<<a[4].i<<"))"<<a[0].t<<a[6].i;
cout<<" .............3\n";
}void printme4(void)
{
flag++;
cout<<" "<<a[6].i<<a[0].t<<"("<<a[5].i<<a[1].t<<"("<<a[3].i<<a[2].t<<a[4].i<<"))";
cout<<" .............4\n";
}void printme5(void)
{
flag++;
cout<<" "<<a[6].i<<a[0].t<<"(("<<a[3].i<<a[2].t<<a[4].i<<")"<<a[1].t<<a[5].i<<")";
cout<<" .............5\n";
}
//VC++下编译
#include<iostream.h>
#include<math.h>
char h[4]={'/','-','*','+'};
int n[4];
union Tr0{
char t;
int i;
} a[7];
int flag;
double countme1(void);
double countme2(void);
double countme3(void);
double countme4(void);
double countme5(void);void printme1(void);
void printme2(void);
void printme3(void);
void printme4(void);
void printme5(void);int main(void)
{while (1)
{
flag=0;
cout<<"Please Input 4 Numbers:\n";
cin>>n[0]>>n[1]>>n[2]>>n[3];
/////
for(int i0=0;i0<4;i0++)
{a[0].t=h[i0];
for(int i1=0;i1<4;i1++)
{a[1].t=h[i1];
for(int i2=0;i2<4;i2++)
{a[2].t=h[i2];
for(int i3=0;i3<4;i3++)
{a[3].i=n[i3];
for(int i4=0;i4<4;i4++)
if(i4!=i3)
{a[4].i=n[i4];
for(int i5=0;i5<4;i5++)
if(i5!=i4&&i5!=i3)
{a[5].i=n[i5];
for(int i6=0;i6<4;i6++)
if(i6!=i5&&i6!=i4&&i6!=i3)
{a[6].i=n[i6]; if(fabs(countme1()-24)<0.000001)
{ printme1();} if(fabs(countme2()-24)<0.000001)
{ printme2();} if(fabs(countme3()-24)<0.000001)
{ printme3();} if(fabs(countme4()-24)<0.000001)
{ printme4();} if(fabs(countme5()-24)<0.000001)
{ printme5();}
}
}
}
}
}
}
}
/////////////////////
if (!flag) cout<<"It can not 24 !!!"<<endl;
else cout<<"Sum is :"<<flag<<endl;
/////////////////////
}return 0;
}double countme1(void)
{
double tmp1=0.0,tmp2=0.0,tmp=0.0; switch(a[1].t)
{
case '+':
tmp1=a[3].i+a[4].i; break;
case '-':
tmp1=a[3].i-a[4].i; break;
case '*':
tmp1=a[3].i*a[4].i; break;
case '/':
if(a[4].i!=0) {tmp1=(double)a[3].i/(double)a[4].i; break;}
}
switch(a[2].t)
{
case '+':
tmp2=a[5].i+a[6].i; break;
case '-':
tmp2=a[5].i-a[6].i; break;
case '*':
tmp2=a[5].i*a[6].i; break;
case '/':
if(a[6].i!=0) {tmp2=(double)a[5].i/(double)a[6].i; break;}
}
switch(a[0].t)
{
case '+':
tmp=tmp1+tmp2;break;
case '-':
tmp=tmp1-tmp2;break;
case '*':
tmp=tmp1*tmp2;break;
case '/':
if(tmp2!=0) {tmp=(double)tmp1/(double)tmp2; break;}
}
return tmp;
}double countme2(void)
{
double tmp=0.0; switch(a[2].t)
{
case '+':
tmp=a[3].i+a[4].i; break;
case '-':
tmp=a[3].i-a[4].i; break;
case '*':
tmp=a[3].i*a[4].i; break;
case '/':
if(a[4].i!=0) {tmp=(double)a[3].i/(double)a[4].i; break;}
}
switch(a[1].t)
{
case '+':
tmp=tmp+a[5].i; break;
case '-':
tmp=tmp-a[5].i; break;
case '*':
tmp=tmp*a[5].i; break;
case '/':
if(a[5].i!=0) {tmp=(double)tmp/(double)a[5].i; break;}
}
switch(a[0].t)
{
case '+':
tmp=tmp+a[6].i;break;
case '-':
tmp=tmp-a[6].i;break;
case '*':
tmp=tmp*a[6].i;break;
case '/':
if(a[6].i!=0) {tmp=(double)tmp/(double)a[6].i; break;}
}
return tmp;
}double countme3(void)
{
double tmp=0.0; switch(a[2].t)
{
case '+':
tmp=a[3].i+a[4].i; break;
case '*':
tmp=a[3].i*a[4].i; break;
case '-':
tmp=a[3].i-a[4].i; break;
case '/':
if(a[4].i!=0) {tmp=(double)a[3].i/(double)a[4].i; break;}
}
switch(a[1].t)
{
case '+':
tmp=a[5].i+tmp; break;
case '-':
tmp=a[5].i-tmp; break;
case '*':
tmp=a[5].i*tmp; break;
case '/':
if(tmp!=0) {tmp=(double)a[5].i/(double)tmp; break;}
}
switch(a[0].t)
{
case '+':
tmp=tmp+a[6].i;break;
case '-':
tmp=tmp-a[6].i;break;
case '*':
tmp=tmp*a[6].i;break;
case '/':
if(a[6].i!=0) {tmp=(double)tmp/(double)a[6].i; break;}
}
return tmp;
}double countme4(void)
{
double tmp=0.0; switch(a[2].t)
{
case '+':
tmp=a[3].i+a[4].i; break;
case '-':
tmp=a[3].i-a[4].i; break;
case '*':
tmp=a[3].i*a[4].i; break;
case '/':
if(a[4].i!=0) {tmp=(double)a[3].i/(double)a[4].i; break;}
}
switch(a[1].t)
{
case '+':
tmp=a[5].i+tmp; break;
case '-':
tmp=a[5].i-tmp; break;
case '*':
tmp=a[5].i*tmp; break;
case '/':
if(tmp!=0) {tmp=(double)a[5].i/(double)tmp; break;}
}
switch(a[0].t)
{
case '+':
tmp=a[6].i+tmp;break;
case '-':
tmp=a[6].i-tmp;break;
case '*':
tmp=a[6].i*tmp;break;
case '/':
if(tmp!=0) {tmp=(double)a[6].i/(double)tmp; break;}
}
return tmp;
}double countme5(void)
{
double tmp=0.0; switch(a[2].t)
{
case '+':
tmp=a[3].i+a[4].i; break;
case '-':
tmp=a[3].i-a[4].i; break;
case '*':
tmp=a[3].i*a[4].i; break;
case '/':
if(a[4].i!=0) {tmp=(double)a[3].i/(double)a[4].i; break;}
}
switch(a[1].t)
{
case '+':
tmp=tmp+a[5].i; break;
case '-':
tmp=tmp-a[5].i; break;
case '*':
tmp=tmp*a[5].i; break;
case '/':
if(a[5].i!=0) {tmp=(double)tmp/(double)a[5].i; break;} }
switch(a[0].t)
{
case '+':
tmp=a[6].i+tmp;break;
case '-':
tmp=a[6].i-tmp;break;
case '*':
tmp=a[6].i*tmp;break;
case '/':
if(tmp!=0) {tmp=(double)a[6].i/(double)tmp; break;}
}
return tmp;
}void printme1(void)
{
flag++;
cout<<" "<<"("<<a[3].i<<a[1].t<<a[4].i<<")"<<a[0].t<<"("<<a[5].i<<a[2].t<<a[6].i<<")";
cout<<" .............1\n";
}void printme2(void)
{
flag++;
cout<<" "<<"(("<<a[3].i<<a[2].t<<a[4].i<<")"<<a[1].t<<a[5].i<<")"<<a[0].t<<a[6].i;
cout<<" .............2\n";
}void printme3(void)
{
flag++;
cout<<" "<<"("<<a[5].i<<a[1].t<<"("<<a[3].i<<a[2].t<<a[4].i<<"))"<<a[0].t<<a[6].i;
cout<<" .............3\n";
}void printme4(void)
{
flag++;
cout<<" "<<a[6].i<<a[0].t<<"("<<a[5].i<<a[1].t<<"("<<a[3].i<<a[2].t<<a[4].i<<"))";
cout<<" .............4\n";
}void printme5(void)
{
flag++;
cout<<" "<<a[6].i<<a[0].t<<"(("<<a[3].i<<a[2].t<<a[4].i<<")"<<a[1].t<<a[5].i<<")";
cout<<" .............5\n";
}
排列组合一共[(N-1)*(N-2)]*[(n-2)*(n-3)]。。[2*1]种可能
因为是4则运算所以再乘上4^(N-1)
n=4时一共196中可能
用穷举法应该可行的