历届试题 趣味算式填符号
来源:互联网 发布:mysql默认配置文件 编辑:程序博客网 时间:2024/05/17 04:12
匪警请拨110,即使手机欠费也可拨通!
为了保障社会秩序,保护人民群众生命财产安全,警察叔叔需要与罪犯斗智斗勇,因而需要经常性地进行体力训练和智力训练!
某批警察叔叔正在进行智力训练:
1 2 3 4 5 6 7 8 9 = 110;
请看上边的算式,为了使等式成立,需要在数字间填入加号或者减号(可以不填,但不能填入其它符号)。之间没有填入符号的数字组合成一个数,例如:12+34+56+7-8+9 就是一种合格的填法;123+4+5+67-89 是另一个可能的答案。
请你利用计算机的优势,帮助警察叔叔快速找到所有答案。
每个答案占一行。形如:
12+34+56+7-8+9
123+4+5+67-89
......
已知的两个答案可以输出,但不计分。
各个答案的前后顺序不重要。
注意:
请仔细调试!您的程序只有能运行出正确结果的时候才有机会得分!
请把所有类写在同一个文件中,调试好后,存入与【考生文件夹】下对应题号的“解答.txt”中即可。
相关的工程文件不要拷入。
请不要使用package语句。
源程序中只能出现JDK1.5中允许的语法或调用。不能使用1.6或更高版本。
思路:
准备用递归的,但条件没控制好,改换成用循环穷举了,将运算符作为枚举对象,用1 2 3 分别表示空格,+,-,
代码:
#include<iostream>#include<algorithm>using namespace std;int main(){int i,j,c=0,k=0;int a[9]={1,2,3,4,5,6,7,8,9};int s[8],t[9]={0},sum=0;for (s[0]=1; s[0]<=3; s[0]++){for (s[1]=1; s[1]<=3; s[1]++){for (s[2]=1; s[2]<=3; s[2]++){for (s[3]=1; s[3]<=3; s[3]++){for (s[4]=1; s[4]<=3; s[4]++){for (s[5]=1; s[5]<=3; s[5]++){for (s[6]=1; s[6]<=3; s[6]++){for (s[7]=1; s[7]<=3; s[7]++){//s[0]=1;s[1]=1;s[2]=2;s[3]=2;s[4]=2;s[5]=1;s[6]=3;s[7]=1;k=0;c=0;sum=0; t[k]=a[c]; for (i=0; i<=7; i++) { switch(s[i]) { case 1: t[k]=t[k]*10+a[++c]; break; case 2: t[++k]=a[++c]; break; case 3: t[++k]=a[++c]; break;}}c=0;sum=t[c];for (i=0;i<=7;i++){switch(s[i]){case 2:sum+=t[++c];break;case 3:sum-=t[++c];break;}}if (sum==110){j=0;for (i=0; i<=k; i++){cout<<t[i];for (; j<=7;j++){if (s[j]==2){cout<<"+";j++; break;}if (s[j]==3){cout<<"-";j++;break;}}}cout<<endl;}}}}}}}}}return 0;}
1 0
- 历届试题 趣味算式填符号
- 趣味算式填符号
- 填符号凑算式 趣味算式
- 蓝桥杯 填符号凑算式 趣味运算 DFS枚举 字符串处理
- 蓝桥杯 历届试题 神奇算式
- 历届试题 五星填数
- 蓝桥杯 历届试题 马虎的算式
- 蓝桥杯 历届试题 古堡算式,微生物繁殖
- 历届试题 神奇算式 (全排列)
- 趣味算式
- 趣味算式
- 趣味算式
- 趣味算式
- 蓝桥杯 历届试题 六角填数
- 蓝桥杯 历届试题 五星填数
- 填算式
- 填算式
- 填算式
- Java中使用Thread创建多线程并启动
- 信源编码第二章 哈夫曼编码
- 互联网日志分析技术及分析指标
- jQuery学习(三)---基础语法---操作
- SOJ 1036
- 历届试题 趣味算式填符号
- HDU 2899 Strange fuction
- 解决100个进程莫名其妙逐渐挂掉的问题
- HDU1215_七夕节_算数基本定理
- HTTP要点概述:三,客户端和服务器,请求和响应
- 从需求管理到产品开发流程,硅谷产品方法论大揭秘
- 编码问题-python3
- maven 的生命周期
- 怎样在IMP时候指定导入到某表空间内