蓝桥杯2016 B组C省赛真题 2016-3 凑算式

凑算式

在这里插入图片描述
这个算式中 A A - I I 代表1~9的数字,不同的字母代表不同的数字。

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

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

解法思路:

由于不支持分数形式计算,所以对式子进行通分 A C G H I + B G H I + C E D F = 10 C G H I ACGHI+BGHI+CEDF=10*CGHI
利用全排列进行求解,解得一共有 29 种解法。

#include<iostream>
#include<algorithm>
using namespace std;
int main() {
	int x[] = { 1,2,3,4,5,6,7,8,9 };
	int s;
	int sum = 0;
	do {
			s = (x[6] * 100 + x[7] * 10 + x[8]);
		if (x[0]*x[2]*s + x[1]*s + x[2]*(x[3] * 100 + x[4] * 10 + x[5]) == 10*x[2]*s)
		{
			sum++;
		}
	} while (next_permutation(x, x + 9));//全排列
	cout << sum;
}
发布了35 篇原创文章 · 获赞 7 · 访问量 3243

猜你喜欢

转载自blog.csdn.net/KSONJ120/article/details/103935592