算式900(2017蓝桥杯省赛c组题目) 您所在的位置:网站首页 276x38的算式 算式900(2017蓝桥杯省赛c组题目)

算式900(2017蓝桥杯省赛c组题目)

2024-06-09 04:07| 来源: 网络整理| 查看: 265

小明的作业本上有道思考题:看下面的算式: (□□□□-□□□□)*□□=900 其中的小方块代表0~9的数字,这10个方块刚好包含了0~9中的所有数字。 注意:0不能作为某个数字的首位。 小明经过几天的努力,终于做出了答案!如下: (5012-4987)*36=900 用计算机搜索后,发现还有另外一个解,本题的任务就是:请你算出这另外的一个解。 注意:提交的格式需要与示例严格一致; 括号及运算符号不要用中文输入法; 整个算式中不能包含空格。

这题刚一拿起题来感觉很简单,不就用几个for循环就解决了。但是你高兴的太早了,当你用for循环时你就会焕然大悟,想得太简单了。for循环超时,根本输不出答案。

最后认真想了下,最后用深搜解决了超时没有答案的问题

下面上代码

#include int ans[10]; int mid[10]={0,1,2,3,4,5,6,7,8,9}; int book[10]={0}; void dfs(int step) { int i; int a,b,c; if(step==10) { if(ans[0]!=0&&ans[4]!=0&&ans[8]!=0) { a=ans[0]*1000+ans[1]*100+ans[2]*10+ans[3]; b=ans[4]*1000+ans[5]*100+ans[6]*10+ans[7]; c=ans[8]*10+ans[9]; if((a-b)*c==900) { printf("(%d-%d)*%d=900\n",a,b,c); } } } for(i=0;i


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有