插入(+、-、空格)完成的等式:1 2 3 4 5 6 7 8 9=N
来源:互联网 发布:淘宝买家数据采集 编辑:程序博客网 时间:2024/05/22 03:11
#include<iostream>
#include<cstdio>
using namespace std;
int ops[21];
const char sym[3] = {
'+'
,
'-'
,
' '
};
int result , num;
void dfs(int layer, int currentResult, int lastOp, int lastSum)
{
lastSum *= (layer > 9) ? 100 : 10;
lastSum += layer;
if
(layer == 9)
{
currentResult += (lastOp) ? (-1 * lastSum) : lastSum;
if
(currentResult == result)
{
++num;
printf(
"1"
);
for
(int i = 2 ; i <= 9 ; ++i)
{
if
(sym[ops[i-1]] !=
' '
)
printf(
" %c "
, sym[ops[i-1]]);
printf(
"%d"
, i);
}
printf(
" = %d\n"
, result);
}
return
;
}
ops[layer] = 2;
dfs(layer + 1 , currentResult , lastOp , lastSum);
//Continue
currentResult += (lastOp)? (-1 * lastSum) : lastSum;
ops[layer] = 0;
dfs(layer + 1 , currentResult , 0 , 0);
//Plus
ops[layer] = 1;
dfs(layer + 1 , currentResult , 1 , 0);
//Minus
}
int main(void)
{
while
(scanf(
"%d"
, &result) != EOF)
{
num = 0;
dfs(1 , 0 , 0 , 0);
printf(
"%d\n"
, num);
}
return
0;
}
0 0
- 插入(+、-、空格)完成的等式:1 2 3 4 5 6 7 8 9=N
- 整型数组处理算法(八)插入(+、-、空格)完成的等式:1 2 3 4 5 6 7 8 9=N[华为面试题]
- 整型数组处理算法(八)插入(+、-、空格)完成的等式:1 2 3 4 5 6 7 8 9=N[华为面试题]
- 整型数组处理算法(八)插入(+、-、空格)完成的等式:1 2 3 4 5 6 7 8 9=N[华为面试题]
- 完成等式:1 2 3 4 5 6 7 8 9=X
- 第三题:等式变换 输入一个正整数X,在下面的等式左边的数字之间添加+号或者-号,使得等式成立。 1 2 3 4 5 6 7 8 9 = X
- CodeVS4730 特殊等式-1@2@3@...@(N-1)=N
- 输入一个正整数X,在下面的等式1 2 3 4 5 6 7 8 9 = X,左边的数字之间添加+号或者-号,使得等式成立。
- 随笔:1 2 3 4 5 6 7 8 9 =110 在左边数字之间加入运算符(+、-或不加),使得等式成立
- 1 2 3 4 5 6 7 8 9 =110 在左边数字之间加入运算符(+、-或不加),使得等式成立
- 假设在n进制下,下面的等式成立,n值是() 567*456=150216 9 10 12 18
- 假设在n进制下,下面的等式成立,n值是() 567*456=150216
- 1 2 3 4 5 6 7 8 9 = 110,在数字间填入加号或者减号(可以不填,但不能填入其它符号)使等式成立。
- 1-9组成的等式
- 假设在n进制下,下面的等式成立,5…
- 简单的带空格等式计算
- 一道笔试题:假设在n进制下,下面的等式成立,n的值是(),567*456=150216.
- 一道笔试题:假设在n进制下,下面的等式成立,n的值是(),567*456=150216.
- iOS-学习笔记-UI-第十九天
- 在Android APK中调用底层linux命令或者脚本
- JS Library Set
- springLdap 操作ldap示例(增删改查)
- 升级旧Delphi应用转向支持手机的一个思路
- 插入(+、-、空格)完成的等式:1 2 3 4 5 6 7 8 9=N
- 实战 SSH 端口转发
- ActiveMQ(三):使用Topic方式发送消息
- [Usaco2002 Open]Wiggle Numbers摆动数
- 有道小词典
- 随机函数rand()[c++]
- 自定义View—使用clipPath或者BitmapShader实现圆角图片
- Java的四种引用源代码例子
- Java深入浅出系列(四)——深入剖析动态代理--从静态代理到动态代理的演化