切符の数字で10を作れ
■ このスレッドは過去ログ倉庫に格納されています
0048デフォルトの名無しさん
NGNGint add(int a,int b){ return a+b; }
int sub(int a,int b){ return a-b; }
int mul(int a,int b){ return a*b; }
int div(int a,int b){ return b ? a/b : 0x7fffffff; }
int mod(int a,int b){ return b ? a%b : 0x7fffffff; }
int and(int a,int b){ return a&b; }
int or(int a,int b){ return a|b; }
int xor(int a,int b){ return a^b; }
main()
{
const int num=10;
const int opn=8;
int (*op[])(int,int)={add,sub,mul,div,mod,and,or,xor};
char ops[]={'+','-','*','/','%','&','|','^'};
for(int i=0; i<num; i++)
for(int j=0; j<num; j++)
for(int k=0; k<num; k++)
for(int n=0; n<num; n++)
for(int a=0; a<opn; a++)
for(int b=0; b<opn; b++)
for(int c=0; c<opn; c++)
if(op[c](op[b](op[a](i,j),k),n)==10)
printf("((%d%c%d)%c%d)%c%d\n",i,ops[a],j,ops[b],k,ops[c],n);
}
c言語
演算子は{'+','-','*','/','%','&','|','^'}; 2項演算子系なら簡単に追加可能
演算は左から順番
10と等しかったら表示する
■ このスレッドは過去ログ倉庫に格納されています