蓝桥杯第七届C题:凑算式+暴力

题目描述

在这里插入图片描述
这个算式中AI代表19的数字,不同的字母代表不同的数字。
比如:
6+8/3+952/714 就是一种解法,
5+3/1+972/486 是另一种解法。
这个算式一共有多少种解法?
注意:你提交应该是个整数,不要填写任何多余的内容或说明性文字。

思路

枚举A,B,C…每一种的可能性,并且ABC的值不相同
纯暴力。
答案:29

代码

#include<stdio.h>
bool vis[10];
int main()
{
	int sum=0;
	for(int a1=1;a1<10;a1++)
	{
		vis[a1]=true;
		for(int a2=1;a2<10;a2++)
		{
			if(vis[a2])	continue;
			vis[a2]=true;
			for(int a3=1;a3<10;a3++)
			{
				if(vis[a3])	continue;
				vis[a3]=true;
				for(int a4=1;a4<10;a4++)
				{
					if(vis[a4])	continue;
					vis[a4]=true;
					for(int a5=1;a5<10;a5++)
					{
						if(vis[a5])	continue;
						vis[a5]=true;
						for(int a6=1;a6<10;a6++)
						{
							if(vis[a6])	continue;
							vis[a6]=true;
							for(int a7=1;a7<10;a7++)
							{
								if(vis[a7])	continue;
								vis[a7]=true;
								for(int a8=1;a8<10;a8++)
								{
									if(vis[a8])	continue;
									vis[a8]=true;
									for(int a9=1;a9<10;a9++)
									{
										if(vis[a9])	continue;
										float DEF=(float)(a4*100+a5*10+a6);
										float GHI=(float)(a7*100+a8*10+a9);
										if(a1+(float)a2/a3+DEF/GHI==10)	sum++;
									}
									vis[a8]=false;
								}
								vis[a7]=false;
							}
							vis[a6]=false;
						}
						vis[a5]=false;
					}
					vis[a4]=false;
				}
				vis[a3]=false;
			}
			vis[a2]=false;
		}
		vis[a1]=false;
	}
	printf("%d",sum);
	return 0;
} 
发布了67 篇原创文章 · 获赞 1 · 访问量 1322

猜你喜欢

转载自blog.csdn.net/qq_45249273/article/details/104707022