蓝桥杯第七届C/C++B省赛凑算式
第三题: 凑算式 B DEF A + --- + ------- = 10 C GHI (如果显示有问题,可以参见【图1.jpg】) 这个算式中A~I代表1~9的数字,不同的字母代表不同的数字。 比如: 6+8/3+952/714 就是一种解法, 5+3/1+972/486 是另一种解法。 这个算式一共有多少种解法? 注意:你提交应该是个整数,不要填写任何多余的内容或说明性文字。 就一个控制精度问题,其他的没有了。 答案 : 29 第一种:dfs,搜索每一个位置,确定当前的数,最后统一计算(终于自己都看不下去以前写的无穷for了QAQ) 源代码: #include<iostream> #include<cstdio> #include<cstring> #include<cmath> #include<string> #include<algorithm> int flag[11]; int ans[11]; int sum=0; using namespace std; void dfs(int pos) { if(pos==10) { double t1=(double)ans[1]; double t2=((double)ans[2])/((double)ans[3]); double t3=((double)(ans[4]*100+ans[5]*10+ans[6]))/(