//75th.cpp 这段代码是看 3,3,8,8这四个数怎么算能得到24这个值,没啥新意,偶用穷举做的.
//云说:3388,3838,8338,8383 在中间插入运算符
//...测试,无他意
///有时间啦重写..!
//by clin003 2005.12.13
#include <iostream>
using namespace std;
int foo(char ,int,int );
int main(void)
{
int a=3,a2=3,b=8,b2=8,c=24;
//这里的c就是你要测试的数..
int temp=0;
char num[]={'+','-','*','/'};
for(int pc=0;pc<4;pc++)
{
for (int i=0;i<4;i++)
{
for (int j=0;j<4;j++)
{
for(int y=0;y<4;y++)
{
temp = foo( num[i],a,a2);
temp = foo(num[j],temp,b);
temp = foo(num[y],temp,b2);
if (c == temp)
{
cout<<"this is your answer :"
<<a
<<num[i]<<a2
<<num[j]<<b
<<num[y]<<b2
<<"="
<<c<<endl
<<endl;
}
temp = 0;
}
}
}
temp = a;
a=a2;a2=b;b=b2;b2=temp;
temp =0;
}
return 0;
}
int foo(char number ,int a,int b )
{
int temp=0;
switch (number)
{
case '+':{temp =a+b;break;}
case '-':{temp =a-b;break;}
case '*':{temp =a*b;break;}
case '/':{temp =a/b;break;}
}
return temp;
}
/edit by clin003 2005.12.14
//75th.cpp 这段代码是看 3,3,8,8这四个数怎么算能得到24这个值,没啥新意,偶用穷举做的.
//云说:3388,3838,8338,8383 在中间插入运算符
//...测试,无他意
//by clin003 2005.12.13
#include <iostream>
using namespace std;
int foo(char ,int,int );
int main(void)
{
int a=3,a2=3,b=8,b2=8;
int c=24;
//这里的c就是你要测试的数..
int inum[4][4][4];
int temp=0;
for (int i=0;i<4;i++)
{
for(int j=0;j<4;j++)
{
inum[i][j][0]=a;inum[i][j][1]=a2;
inum[i][j][2]=b;inum[i][j][3]=b2;
temp = a;
a=a2;a2=b;b=b2;b2=temp;
temp =0;
/*
cout<<inum[i][j][0]<<inum[i][j][1]<<
inum[i][j][2]<<inum[i][j][3]<<endl;
*/
}
temp = a;
a=a2;a2=b;b=b2;b2=temp;
temp =0;
}
char num[]={'+','-','*','/','%','^','&','|'};
int n = sizeof num /sizeof num[0];
int count=0;
cout <<n<<endl;
//顺序计算
for(int pc1=0;pc1<4;pc1++)
{
for(int pc2=0;pc2<4;pc2++)
{
for (int i=0;i<n;i++)
{
for (int j=0;j<n;j++)
{
for(int y=0;y<n;y++)
{
temp = foo( num[i],inum[pc1][pc2][0],inum[pc1][pc2][1]);
temp = foo(num[j],temp,inum[pc1][pc2][2]);
temp = foo(num[y],temp,inum[pc1][pc2][3]);
if (c == temp)
{
count++;
cout<<"this is your answer :"
<<"(("
<<inum[pc1][pc2][0]
<<num[i]<<inum[pc1][pc2][1]
<<")"
<<num[j]<<inum[pc1][pc2][2]
<<")"
<<num[y]<<inum[pc1][pc2][3]
<<"="
<<c<<endl
<<endl;
}
temp = 0;
}
}
}//end pc2 for
/*
temp = a;
a=a2;a2=b;b=b2;b2=temp;
temp =0;*/
}
}
//
for(int pc1=0;pc1<4;pc1++)
{
for(int pc2=0;pc2<4;pc2++)
{
for (int i=0;i<n;i++)
{
for (int j=0;j<n;j++)
{
for(int y=0;y<n;y++)
{//(a(a2,b))b2
temp = foo(num[j],inum[pc1][pc2][1],inum[pc1][pc2][2]);
temp = foo( num[i],inum[pc1][pc2][0],temp);
temp = foo(num[y],temp,inum[pc1][pc2][3]);
if (c == temp)
{
count++;
cout<<"this is your answer :"
<<"("<<inum[pc1][pc2][0]
<<num[i]<<"("<<inum[pc1][pc2][1]
<<num[j]<<inum[pc1][pc2][2]
<<"))"
<<num[y]<<inum[pc1][pc2][3]
<<"="
<<c<<endl
<<endl;
}
temp = 0;
}
}
}//end pc2 for
/*
temp = a;
a=a2;a2=b;b=b2;b2=temp;
temp =0;*/
}
}
for(int pc1=0;pc1<4;pc1++)
{
for(int pc2=0;pc2<4;pc2++)
{
for (int i=0;i<n;i++)
{
for (int j=0;j<n;j++)
{
for(int y=0;y<n;y++)
{//a((a2,b)b2)
temp = foo(num[j],inum[pc1][pc2][1],inum[pc1][pc2][2]);
temp = foo(num[y],temp,inum[pc1][pc2][3]);
temp = foo( num[i],inum[pc1][pc2][0],temp);
if (c == temp)
{
count++;
cout<<"this is your answer :"
<<inum[pc1][pc2][0]
<<num[i]<<"(("<<inum[pc1][pc2][1]
<<num[j]<<inum[pc1][pc2][2]
<<")"
<<num[y]<<inum[pc1][pc2][3]
<<")"<<"="
<<c<<endl
<<endl;
}
temp = 0;
}
}
}//end pc2 for
/*
temp = a;
a=a2;a2=b;b=b2;b2=temp;
temp =0;*/
}
}
//
//*****************
for(int pc1=0;pc1<4;pc1++)
{
for(int pc2=0;pc2<4;pc2++)
{
for (int i=0;i<n;i++)
{
for (int j=0;j<n;j++)
{//(a,a2),(b,b2) <-- a,(a2,b),b2 <-- ((a,a2),b),b2
//a,(a2,b,b2)
//a,a2,b,b2
for(int y=0;y<n;y++)
{
temp = foo(num[y],inum[pc1][pc2][2],inum[pc1][pc2][3]);
int temp2 = foo( num[i],inum[pc1][pc2][0],inum[pc1][pc2][1]);
temp = foo(num[j],temp2,temp);
if (c == temp)
{
count++;
cout<<"this is your answer :"
<<"("
<<inum[pc1][pc2][0]
<<num[i]<<inum[pc1][pc2][1]
<<")"
<<num[j]<<"("<<inum[pc1][pc2][2]
<<num[y]<<inum[pc1][pc2][3]
<<")"<<"="
<<c<<endl
<<endl;
}
temp = 0;
}
}
}//end pc2 for
/*
temp = a;
a=a2;a2=b;b=b2;b2=temp;
temp =0;*/
}
}
//*****************
if (0==count) cout<<"there no answer for you "<<endl;
return 0;
}
int foo(char number ,int a,int b )
{
int temp=0;
switch (number)
{
case '+':{temp =a+b;break;}
case '-':{temp =a-b;break;}
case '*':{temp =a*b;break;}
case '/':{temp =a/b;break;}
case '%':{temp =a%b;break;}
case '^':{temp =a^b;break;}
case '&':{temp =a&b;break;}
case '|':{temp =a|b;break;}
}
return temp;
}
///
//75th.cpp 这段代码是看 3,3,8,8这四个数怎么算能得到24这个值,没啥新意,偶用穷举做的.
//云说:3388,3838,8338,8383 在中间插入运算符
//...测试,无他意
//by clin003 2005.12.13
#include <iostream>
using namespace std;
int foo(char ,int,int );
int main(void)
{
int a=3,a2=3,b=8,b2=8;
int c=24;
//这里的c就是你要测试的数..
int inum[4][4][4];
int temp=0;
for (int i=0;i<4;i++)
{
for(int j=0;j<4;j++)
{
inum[i][j][0]=a;inum[i][j][1]=a2;
inum[i][j][2]=b;inum[i][j][3]=b2;
temp = a;
a=a2;a2=b;b=b2;b2=temp;
temp =0;
/*
cout<<inum[i][j][0]<<inum[i][j][1]<<
inum[i][j][2]<<inum[i][j][3]<<endl;
*/
}
temp = a;
a=a2;a2=b;b=b2;b2=temp;
temp =0;
}
char num[]={'+','-','*','/','%','^','&','|'};
int n = sizeof num /sizeof num[0];
int count=0;
cout <<n<<endl;
//顺序计算
for(int pc1=0;pc1<4;pc1++)
{
for(int pc2=0;pc2<4;pc2++)
{
for (int i=0;i<n;i++)
{
for (int j=0;j<n;j++)
{
for(int y=0;y<n;y++)
{
//((a,a2),b),b2
temp = foo( num[i],inum[pc1][pc2][0],inum[pc1][pc2][1]);
temp = foo(num[j],temp,inum[pc1][pc2][2]);
temp = foo(num[y],temp,inum[pc1][pc2][3]);
if ( temp==c)
{
count++;
cout<<"this is your answer :"
<<"(("
<<inum[pc1][pc2][0]
<<num[i]<<inum[pc1][pc2][1]
<<")"
<<num[j]<<inum[pc1][pc2][2]
<<")"
<<num[y]<<inum[pc1][pc2][3]
<<"="
<<c<<endl
<<endl;
}
temp = 0;
///
//(a,(a2,b)),b2 <--((a,a2),b),b2
int temp_mid_l = foo(num[j],inum[pc1][pc2][1],inum[pc1][pc2][2]);
temp_mid_l = foo( num[i],inum[pc1][pc2][0],temp_mid_l);
temp_mid_l = foo(num[y],temp_mid_l,inum[pc1][pc2][3]);
if (temp_mid_l=c)
{
count++;
cout<<"this is your answer :"
<<"("<<inum[pc1][pc2][0]
<<num[i]<<"("<<inum[pc1][pc2][1]
<<num[j]<<inum[pc1][pc2][2]
<<"))"
<<num[y]<<inum[pc1][pc2][3]
<<"="
<<c<<endl
<<endl;
}
/
//a,((a2,b),b2) <--(a,(a2,b)),b2 <--((a,a2),b),b2
int temp_mid_r = foo(num[j],inum[pc1][pc2][1],inum[pc1][pc2][2]);
temp_mid_r = foo(num[y],temp_mid_r,inum[pc1][pc2][3]);
temp_mid_r = foo( num[i],inum[pc1][pc2][0],temp_mid_r);
if (temp_mid_r==c)
{
count++;
cout<<"this is your answer :"
<<inum[pc1][pc2][0]
<<num[i]<<"(("<<inum[pc1][pc2][1]
<<num[j]<<inum[pc1][pc2][2]
<<")"
<<num[y]<<inum[pc1][pc2][3]
<<")"<<"="
<<c<<endl
<<endl;
}
/
//(a,a2),(b,b2) <--a,((a2,b),b2) <--(a,(a2,b)),b2 <--((a,a2),b),b2
int temp_lr = foo(num[y],inum[pc1][pc2][2],inum[pc1][pc2][3]);
int temp2 = foo( num[i],inum[pc1][pc2][0],inum[pc1][pc2][1]);
temp_lr = foo(num[j],temp2,temp_lr);
if (temp_lr==c)
{
count++;
cout<<"this is your answer :"
<<"("
<<inum[pc1][pc2][0]
<<num[i]<<inum[pc1][pc2][1]
<<")"
<<num[j]<<"("<<inum[pc1][pc2][2]
<<num[y]<<inum[pc1][pc2][3]
<<")"<<"="
<<c<<endl
<<endl;
}
}//end y for
}//end j for
}//end i for
}//end pc2 for
}
if ( !count)
{ cout<<"there no answer for you "<<endl;}
cout<<endl<<"have----------------- "<<count<<endl;
return 0;
}
int inline foo(char number ,int a,int b )
{
int temp=0;
switch (number)
{
case '+':{temp =a+b;break;}
case '-':{temp =a-b;break;}
case '*':{temp =a*b;break;}
case '/':{temp =a/b;break;}
case '%':{temp =a%b;break;}
case '^':{temp =a^b;break;}
case '&':{temp =a&b;break;}
case '|':{temp =a|b;break;}
}
return temp;
}
//云说:3388,3838,8338,8383 在中间插入运算符
//...测试,无他意
///有时间啦重写..!
//by clin003 2005.12.13
#include <iostream>
using namespace std;
int foo(char ,int,int );
int main(void)
{
int a=3,a2=3,b=8,b2=8,c=24;
//这里的c就是你要测试的数..
int temp=0;
char num[]={'+','-','*','/'};
for(int pc=0;pc<4;pc++)
{
for (int i=0;i<4;i++)
{
for (int j=0;j<4;j++)
{
for(int y=0;y<4;y++)
{
temp = foo( num[i],a,a2);
temp = foo(num[j],temp,b);
temp = foo(num[y],temp,b2);
if (c == temp)
{
cout<<"this is your answer :"
<<a
<<num[i]<<a2
<<num[j]<<b
<<num[y]<<b2
<<"="
<<c<<endl
<<endl;
}
temp = 0;
}
}
}
temp = a;
a=a2;a2=b;b=b2;b2=temp;
temp =0;
}
return 0;
}
int foo(char number ,int a,int b )
{
int temp=0;
switch (number)
{
case '+':{temp =a+b;break;}
case '-':{temp =a-b;break;}
case '*':{temp =a*b;break;}
case '/':{temp =a/b;break;}
}
return temp;
}
/edit by clin003 2005.12.14
//75th.cpp 这段代码是看 3,3,8,8这四个数怎么算能得到24这个值,没啥新意,偶用穷举做的.
//云说:3388,3838,8338,8383 在中间插入运算符
//...测试,无他意
//by clin003 2005.12.13
#include <iostream>
using namespace std;
int foo(char ,int,int );
int main(void)
{
int a=3,a2=3,b=8,b2=8;
int c=24;
//这里的c就是你要测试的数..
int inum[4][4][4];
int temp=0;
for (int i=0;i<4;i++)
{
for(int j=0;j<4;j++)
{
inum[i][j][0]=a;inum[i][j][1]=a2;
inum[i][j][2]=b;inum[i][j][3]=b2;
temp = a;
a=a2;a2=b;b=b2;b2=temp;
temp =0;
/*
cout<<inum[i][j][0]<<inum[i][j][1]<<
inum[i][j][2]<<inum[i][j][3]<<endl;
*/
}
temp = a;
a=a2;a2=b;b=b2;b2=temp;
temp =0;
}
char num[]={'+','-','*','/','%','^','&','|'};
int n = sizeof num /sizeof num[0];
int count=0;
cout <<n<<endl;
//顺序计算
for(int pc1=0;pc1<4;pc1++)
{
for(int pc2=0;pc2<4;pc2++)
{
for (int i=0;i<n;i++)
{
for (int j=0;j<n;j++)
{
for(int y=0;y<n;y++)
{
temp = foo( num[i],inum[pc1][pc2][0],inum[pc1][pc2][1]);
temp = foo(num[j],temp,inum[pc1][pc2][2]);
temp = foo(num[y],temp,inum[pc1][pc2][3]);
if (c == temp)
{
count++;
cout<<"this is your answer :"
<<"(("
<<inum[pc1][pc2][0]
<<num[i]<<inum[pc1][pc2][1]
<<")"
<<num[j]<<inum[pc1][pc2][2]
<<")"
<<num[y]<<inum[pc1][pc2][3]
<<"="
<<c<<endl
<<endl;
}
temp = 0;
}
}
}//end pc2 for
/*
temp = a;
a=a2;a2=b;b=b2;b2=temp;
temp =0;*/
}
}
//
for(int pc1=0;pc1<4;pc1++)
{
for(int pc2=0;pc2<4;pc2++)
{
for (int i=0;i<n;i++)
{
for (int j=0;j<n;j++)
{
for(int y=0;y<n;y++)
{//(a(a2,b))b2
temp = foo(num[j],inum[pc1][pc2][1],inum[pc1][pc2][2]);
temp = foo( num[i],inum[pc1][pc2][0],temp);
temp = foo(num[y],temp,inum[pc1][pc2][3]);
if (c == temp)
{
count++;
cout<<"this is your answer :"
<<"("<<inum[pc1][pc2][0]
<<num[i]<<"("<<inum[pc1][pc2][1]
<<num[j]<<inum[pc1][pc2][2]
<<"))"
<<num[y]<<inum[pc1][pc2][3]
<<"="
<<c<<endl
<<endl;
}
temp = 0;
}
}
}//end pc2 for
/*
temp = a;
a=a2;a2=b;b=b2;b2=temp;
temp =0;*/
}
}
for(int pc1=0;pc1<4;pc1++)
{
for(int pc2=0;pc2<4;pc2++)
{
for (int i=0;i<n;i++)
{
for (int j=0;j<n;j++)
{
for(int y=0;y<n;y++)
{//a((a2,b)b2)
temp = foo(num[j],inum[pc1][pc2][1],inum[pc1][pc2][2]);
temp = foo(num[y],temp,inum[pc1][pc2][3]);
temp = foo( num[i],inum[pc1][pc2][0],temp);
if (c == temp)
{
count++;
cout<<"this is your answer :"
<<inum[pc1][pc2][0]
<<num[i]<<"(("<<inum[pc1][pc2][1]
<<num[j]<<inum[pc1][pc2][2]
<<")"
<<num[y]<<inum[pc1][pc2][3]
<<")"<<"="
<<c<<endl
<<endl;
}
temp = 0;
}
}
}//end pc2 for
/*
temp = a;
a=a2;a2=b;b=b2;b2=temp;
temp =0;*/
}
}
//
//*****************
for(int pc1=0;pc1<4;pc1++)
{
for(int pc2=0;pc2<4;pc2++)
{
for (int i=0;i<n;i++)
{
for (int j=0;j<n;j++)
{//(a,a2),(b,b2) <-- a,(a2,b),b2 <-- ((a,a2),b),b2
//a,(a2,b,b2)
//a,a2,b,b2
for(int y=0;y<n;y++)
{
temp = foo(num[y],inum[pc1][pc2][2],inum[pc1][pc2][3]);
int temp2 = foo( num[i],inum[pc1][pc2][0],inum[pc1][pc2][1]);
temp = foo(num[j],temp2,temp);
if (c == temp)
{
count++;
cout<<"this is your answer :"
<<"("
<<inum[pc1][pc2][0]
<<num[i]<<inum[pc1][pc2][1]
<<")"
<<num[j]<<"("<<inum[pc1][pc2][2]
<<num[y]<<inum[pc1][pc2][3]
<<")"<<"="
<<c<<endl
<<endl;
}
temp = 0;
}
}
}//end pc2 for
/*
temp = a;
a=a2;a2=b;b=b2;b2=temp;
temp =0;*/
}
}
//*****************
if (0==count) cout<<"there no answer for you "<<endl;
return 0;
}
int foo(char number ,int a,int b )
{
int temp=0;
switch (number)
{
case '+':{temp =a+b;break;}
case '-':{temp =a-b;break;}
case '*':{temp =a*b;break;}
case '/':{temp =a/b;break;}
case '%':{temp =a%b;break;}
case '^':{temp =a^b;break;}
case '&':{temp =a&b;break;}
case '|':{temp =a|b;break;}
}
return temp;
}
///
//75th.cpp 这段代码是看 3,3,8,8这四个数怎么算能得到24这个值,没啥新意,偶用穷举做的.
//云说:3388,3838,8338,8383 在中间插入运算符
//...测试,无他意
//by clin003 2005.12.13
#include <iostream>
using namespace std;
int foo(char ,int,int );
int main(void)
{
int a=3,a2=3,b=8,b2=8;
int c=24;
//这里的c就是你要测试的数..
int inum[4][4][4];
int temp=0;
for (int i=0;i<4;i++)
{
for(int j=0;j<4;j++)
{
inum[i][j][0]=a;inum[i][j][1]=a2;
inum[i][j][2]=b;inum[i][j][3]=b2;
temp = a;
a=a2;a2=b;b=b2;b2=temp;
temp =0;
/*
cout<<inum[i][j][0]<<inum[i][j][1]<<
inum[i][j][2]<<inum[i][j][3]<<endl;
*/
}
temp = a;
a=a2;a2=b;b=b2;b2=temp;
temp =0;
}
char num[]={'+','-','*','/','%','^','&','|'};
int n = sizeof num /sizeof num[0];
int count=0;
cout <<n<<endl;
//顺序计算
for(int pc1=0;pc1<4;pc1++)
{
for(int pc2=0;pc2<4;pc2++)
{
for (int i=0;i<n;i++)
{
for (int j=0;j<n;j++)
{
for(int y=0;y<n;y++)
{
//((a,a2),b),b2
temp = foo( num[i],inum[pc1][pc2][0],inum[pc1][pc2][1]);
temp = foo(num[j],temp,inum[pc1][pc2][2]);
temp = foo(num[y],temp,inum[pc1][pc2][3]);
if ( temp==c)
{
count++;
cout<<"this is your answer :"
<<"(("
<<inum[pc1][pc2][0]
<<num[i]<<inum[pc1][pc2][1]
<<")"
<<num[j]<<inum[pc1][pc2][2]
<<")"
<<num[y]<<inum[pc1][pc2][3]
<<"="
<<c<<endl
<<endl;
}
temp = 0;
///
//(a,(a2,b)),b2 <--((a,a2),b),b2
int temp_mid_l = foo(num[j],inum[pc1][pc2][1],inum[pc1][pc2][2]);
temp_mid_l = foo( num[i],inum[pc1][pc2][0],temp_mid_l);
temp_mid_l = foo(num[y],temp_mid_l,inum[pc1][pc2][3]);
if (temp_mid_l=c)
{
count++;
cout<<"this is your answer :"
<<"("<<inum[pc1][pc2][0]
<<num[i]<<"("<<inum[pc1][pc2][1]
<<num[j]<<inum[pc1][pc2][2]
<<"))"
<<num[y]<<inum[pc1][pc2][3]
<<"="
<<c<<endl
<<endl;
}
/
//a,((a2,b),b2) <--(a,(a2,b)),b2 <--((a,a2),b),b2
int temp_mid_r = foo(num[j],inum[pc1][pc2][1],inum[pc1][pc2][2]);
temp_mid_r = foo(num[y],temp_mid_r,inum[pc1][pc2][3]);
temp_mid_r = foo( num[i],inum[pc1][pc2][0],temp_mid_r);
if (temp_mid_r==c)
{
count++;
cout<<"this is your answer :"
<<inum[pc1][pc2][0]
<<num[i]<<"(("<<inum[pc1][pc2][1]
<<num[j]<<inum[pc1][pc2][2]
<<")"
<<num[y]<<inum[pc1][pc2][3]
<<")"<<"="
<<c<<endl
<<endl;
}
/
//(a,a2),(b,b2) <--a,((a2,b),b2) <--(a,(a2,b)),b2 <--((a,a2),b),b2
int temp_lr = foo(num[y],inum[pc1][pc2][2],inum[pc1][pc2][3]);
int temp2 = foo( num[i],inum[pc1][pc2][0],inum[pc1][pc2][1]);
temp_lr = foo(num[j],temp2,temp_lr);
if (temp_lr==c)
{
count++;
cout<<"this is your answer :"
<<"("
<<inum[pc1][pc2][0]
<<num[i]<<inum[pc1][pc2][1]
<<")"
<<num[j]<<"("<<inum[pc1][pc2][2]
<<num[y]<<inum[pc1][pc2][3]
<<")"<<"="
<<c<<endl
<<endl;
}
}//end y for
}//end j for
}//end i for
}//end pc2 for
}
if ( !count)
{ cout<<"there no answer for you "<<endl;}
cout<<endl<<"have----------------- "<<count<<endl;
return 0;
}
int inline foo(char number ,int a,int b )
{
int temp=0;
switch (number)
{
case '+':{temp =a+b;break;}
case '-':{temp =a-b;break;}
case '*':{temp =a*b;break;}
case '/':{temp =a/b;break;}
case '%':{temp =a%b;break;}
case '^':{temp =a^b;break;}
case '&':{temp =a&b;break;}
case '|':{temp =a|b;break;}
}
return temp;
}