主题:【原创】将24进行到底 -- 泰让
1 3 5 4 有12个结果,4 4 7 7 有4个结果, 1 5 5 5 有6个结果。
void print(vector<double> A,vector<int> op,int i)
{
if (i==4||i==5||i==6||i==7) { swap(A[0],A[1]); i=i-4; }
switch (i)
{
case 0 : cout<<"(("<<A[0]; print_op(op[0]); cout<<A[1]<<')';
print_op(op[1]); cout<<A[2]<<')';
print_op(op[2]); cout<<A[3]; break;
// ((A#B)#C)#D
case 1 : cout<<A[3]; print_op(op[2]);
cout<<"(("<<A[0]; print_op(op[0]); cout<<A[1]<<')';
print_op(op[1]); cout<<A[2]<<')'; break;
// D#((A#B)#C)
case 2 : cout<<'('<<A[2]; print_op(op[1]);
cout<<'('<<A[0]; print_op(op[0]); cout<<A[1]<<"))";
print_op(op[2]); cout<<A[3]; break;
// (C#(A#B))#D
case 3 : cout<<A[3]; print_op(op[2]);
cout<<'('<<A[2]; print_op(op[1]);
cout<<'('<<A[0]; print_op(op[0]); cout<<A[1]<<"))"; break;
// D#(C#(A#B))
}
}
void PRINT(vector<double> A,vector<int> op,int i)
{
if (i==4||i==5||i==6||i==7) swap(A[0],A[1]);
if (i==2||i==3||i==6||i==7) swap(A[2],A[3]);
if (i%2==0)
{
cout<<'('<<A[0]; print_op(op[0]); cout<<A[1]<<')';
print_op(op[2]);
cout<<'('<<A[2]; print_op(op[1]); cout<<A[3]<<')';
// (A#B)#(C#D)
}
else
{
cout<<'('<<A[2]; print_op(op[1]); cout<<A[3]<<')';
print_op(op[2]);
cout<<'('<<A[0]; print_op(op[0]); cout<<A[1]<<')';
// (C#D)#(A#B)
}
}
- 相关回复 上下关系8
🙂是因为除法么?不用吧。除法操作的结果必须是整数吧? 请尽量 字0 2007-03-13 20:06:12
🙂不一定 泰让 字47 2007-03-13 20:10:31
😥这个是问题。不过,感觉这样的除法都能”削掉“吧?我好像 请尽量 字20 2007-03-13 20:33:00
🙂print函数
🙂泰让、highway兄请来看看 面壁 字396 2007-03-09 13:26:09
😁今天晚上我把souce code给你打包发过去。 1 Highway 字42 2007-03-09 20:15:28
😄发我一份呀 泰让 字30 2007-03-09 21:45:43
🙂哈,你们论剑的时候别忘了俺! 面壁 字91 2007-03-10 11:38:58