2016年第七届蓝桥杯C/C++程序设计本科B组省赛 凑算式(结果填空)

来源:互联网 发布:淘宝网禁止有毒化学物 编辑:程序博客网 时间:2024/05/02 04:28

凑算式

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

这里写图片描述
比如:
6+8/3+952/714 就是一种解法,
5+3/1+972/486 是另一种解法。

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

答案:29

学习使用next_permutaition(a,a+n)全排列函数

#include<stdio.h>#include<algorithm>using namespace std;int main(){    int a[10],i,sum=0;    for(i=0;i<9;i++)        a[i]=i+1;    for(i=0;i<9;i++)        printf("%d ",a[i]);    while(next_permutation(a,a+9))    {        int t1=a[0]*a[2]*(100*a[6]+10*a[7]+a[8]);          int t2=a[1]*(100*a[6]+10*a[7]+a[8]);          int t3=a[2]*(100*a[3]+10*a[4]+a[5]);          int t4=10*a[2]*(100*a[6]+10*a[7]+a[8]);          if(t1+t2+t3==t4)              sum++;      }    printf("%d\n",sum);    return 0;}
1 0
原创粉丝点击