蓝桥杯 凑算式(第七届第三题)


凑算式

     B      DEF
A + --- + ------- = 10
     C      GHI
     
(如果显示有问题,可以参见【图1.jpg】)
     
     
这个算式中A~I代表1~9的数字,不同的字母代表不同的数字。

比如:
6+8/3+952/714 就是一种解法,
5+3/1+972/486 是另一种解法。

这个算式一共有多少种解法?

注意:你提交应该是个整数,不要填写任何多余的内容或说明性文字。
 

 

答案:29

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <set>
#include <sstream>
#include <climits>
#include <vector>

using namespace std;

bool judge(vector<double> &v){
    double res=0;
    res+=v[0]+v[1]/v[2]+(v[3]*100+v[4]*10+v[5])/(v[6]*100+v[7]*10+v[8]);
    return res==10;
}

int main(){
    vector<double> v{1,2,3,4,5,6,7,8,9};
    int cnt=0;
    do{
        if(judge(v))cnt++;
    }while(next_permutation(v.begin(),v.end()));

    cout<<cnt;
}

 

posted @ 2019-03-13 20:30  开局一把刀  阅读(3)  评论(0)    收藏  举报