- #include<stdio.h>
- #defineERROR_NUM(0x7fffffff)
- #defineRESULT_NUM(24)
- charo_name[]="+-*/";
- intcalc(inta,into,intb)
- {
- if((a==ERROR_NUM)||(b==ERROR_NUM))
- returnERROR_NUM;
- switch(o)
- {
- case0:
- returna+b;
- case1:
- returna-b;
- case2:
- returna*b;
- case3:
- return(a%b)?ERROR_NUM:(a/b);
- }
- returnERROR_NUM;
- }
- intselect(inti[])
- {
- into1,o2,o3,x1,x2,x3,x4;
- intresult,result1;
- intcount=0;
- for(x1=0;x1<4;x1++)
- {
- for(o1=0;o1<4;o1++)
- {
- for(x2=0;x2<4;x2++)
- {
- if(x1==x2)
- continue;
- for(o2=0;o2<4;o2++)
- {
- for(x3=0;x3<4;x3++)
- {
- if((x1==x3)||(x2==x3))
- continue;
- for(o3=0;o3<4;o3++)
- {
- for(x4=0;x4<4;x4++)
- {
- if((x1==x4)||(x2==x4)||(x3==x4))
- continue;
- result=calc(i[x1],o1,i[x2]);
- result=calc(result,o2,i[x3]);
- result=calc(result,o3,i[x4]);
- if(RESULT_NUM==result)
- {
- count++;
- printf("((%d%c%d)%c%d)%c%d/n",i[x1],o_name[o1],i[x2],o_name[o2],i[x3],o_name[o3],i[x4]);
- //gotox;
- }
- result=calc(i[x1],o1,i[x2]);
- result1=calc(i[x3],o3,i[x4]);
- result=calc(result,o2,result1);
- if(RESULT_NUM==result)
- {
- count++;
- printf("(%d%c%d)%c(%d%c%d)/n",i[x1],o_name[o1],i[x2],o_name[o2],i[x3],o_name[o3],i[x4]);
- //gotox;
- }
- }
- }
- }
- }
- }
- }
- }
- if(!count)
- {
- printf("NOANSWER!/n");
- }
- //x:
- returncount;
- }
- intmain(void)
- {
- inta[4];
- while(1)
- {
- printf("Pleaseinputfournumber:");//*/
- scanf("%d%d%d%d",a,a+1,a+2,a+3);
- select(a);
- }
- return0;
- }
24点快速运算
最新推荐文章于 2024-01-31 16:23:27 发布