一副扑克牌的每张牌表示一个数(J、Q、K 分别表示 11、12、13,两个司令都表示 6)。任取 4 张牌,即得到 4 个 1~13 的数,请添加运算符(规定为加+减-乘*除/四种)使之成为一个运算式。每个数只能参与一次运算,4 个数顺序可以任意组合,4 个运算符任意取 3 个且可以重复取。运算遵从一定优先级别,可加括号控制,最终使运算结果为 24。请输出一种解决方案的表达式,用括号表示运算优先。如果没有一种解决方案,则输出-1 表示无解。
输入格式:
输入在一行中给出 4 个整数,每个整数取值在【1,13】。
输出格式:
输出任一种解决方案的表达式,用括号表示运算优先。如果没有解决方案,请输出-1。
输入样例:
2 3 12 12
输出样例:
((3-2)*12)+12
代码:
#include<stdio.h>
float result(float numberf,float numbers,float letter){
if(letter=='+')return numberf+numbers;
if(letter=='-')return numberf-numbers;
if(letter=='*')return numberf*numbers;
if(numbers)return numberf/numbers;
return 0;
}
int main(){
char letter[8]="+-*/";
int number[8],a,b,c,d,e,f,g,h;
scanf("%d%d%d%d",number+