首页 > 学院 > 开发设计 > 正文

第七届蓝桥杯软件类省赛真题-C-B-3_凑算式

2019-11-08 20:21:57
字体:
来源:转载
供稿:网友
//第七届蓝桥杯软件类省赛真题-C-B-3_凑算式 /*题目: 凑算式A + B/C + DEF/GHI = 10(如果显示有问题,可以参见【图1.jpg】)这个算式中A~I代表1~9的数字,不同的字母代表不同的数字。比如: 6+8/3+952/714 就是一种解法, 5+3/1+972/486 是另一种解法。这个算式一共有多少种解法?注意:你提交应该是个整数,不要填写任何多余的内容或说明性文字。*//*【解题思路】解法一:暴力枚举解法二:深度优先搜索 答案:29*/#include<iostream>using namespace std;int main(){	double a,b,c,d,e,f,g,h,i;	int count = 0;	for(a = 1.0;a <= 9.0;a++)		 for(b = 1.0;b <= 9.0;b++)		 	for(c = 1.0;c <= 9.0;c++)		 		for(d = 1.0;d <= 9.0;d++)		 			for(e = 1.0;e <= 9.0;e++)		 				for(f = 1.0;f <= 9.0;f++)		 					for(g = 1.0;g <= 9.0;g++)		 						for(h = 1.0;h <= 9.0;h++)		 							for(i = 1.0;i <= 9.0;i++){		 								if(a != b && a != c && a != d && a != e && a != f && a != g && a != h && a != i										  && b != c && b != d && b != e && b != f && b != g && b != h && b != i										   && c != d && c != e && c != f && c != g && c != h && c != i										    && d != e && d != f && d != g && d != h && d != i											 && e != f && e != g && e != h && e != i											  && f != g && f != h && f != i											   && g != h && g != i											    && h != i){											    	if(a+b/c+(d*100+e*10+f)/(g*100+h*10+i) == 10.0){//											    		cout<<"a="<<a<<" b="<<b<<" c="<<c<<" d="<<d<<" e="<<e<<" f="<<f//											    		<<" g="<<g<<" h="<<h<<" i="<<i<<endl;											    		count++;													}												}									 }	cout<<"这个算式共有的解法种数为:"<<count<<endl;	return 0;}/*#include<iostream>using namespace std;double a[9];bool visit[9];int count = 0;void dfs(int step){	if(step == 9)	{		if(a[0]+a[1]/a[2]+(a[3]*100+a[4]*10+a[5])/(a[6]*100+a[7]*10+a[8]) == 10.0){			count++;		}		return;	}	for(int i = 0;i < 9;i ++)	{		if(visit[i] == false)		{			a[step] = i+1.0;			visit[i] = true;			dfs(step+1);			visit[i] = false;		}	}	return;}int main(){	dfs(0);	cout<<"这个算式共有的解法种数为:"<<count<<endl;	return 0;}*/
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表