c++_凑算式(最新方法)


凑算式

B DEF
A + --- + ------- = 10
C GHI

(如果显示有问题,可以参见【图1.jpg】)


这个算式中A~I代表1~9的数字,不同的字母代表不同的数字。

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

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

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

#include <iostream>
#include <algorithm>
using namespace std;
int main(){
    int n[9];
    int count=0;
    for(int i=0;i<9;i++){
        n[i]=i+1;
    }
    do{
        int a=n[0];
        int b=n[1];
        int c=n[2];
        int def=n[3]*100+n[4]*10+n[5];
        int ghi=n[6]*100+n[7]*10+n[8];
        if((b*ghi+c*def)==(10-a)*(c*ghi)){
            count++;
        }
    }while(next_permutation(n,n+9));
    cout<<count;
    
}

 

posted on 2018-03-26 22:41  我吃你大西瓜  阅读(877)  评论(0编辑  收藏  举报

导航