3 条题解
-
23
定义四个变量a、b、c、d,再定义一个函数,不停用加、减、、乘去试,如果等于24,就将技术变量加1最后输出 加法的如下:
check(a + b + c + d); check(a + b + c - d); check(a + b + c * d); check(a + b - c + d); check(a + b - c - d); check(a + b - c * d); check(a + b * c + d); check(a + b * c - d); check(a + b * c * d);
定义函数如下:
void check(int k) { //此处自行编写。 }
-
18
简单暴力枚举
可以 dfs 枚举运算符,在枚举时可以适当更改原序列,方便计算结果。
具体的更改方法如下
如果是
+
号,则不用改如果是
-
号,把后面的数字如果是
×
号,则有两个操作:- 把前面的数字改为
- 后面的数字乘上前面的数字(改之前)
如果是
÷
号(本题不出现此运算符,可直接忽略),则操作方法和×
号差不多,以此类推即可。如何计算结果呢,这时就很简单了,把改之后的序列加起来就行了,题意是让我们求等于 的情况数,判断后累加即可
给大家提供一下伪代码:
def dfs(x) if(x >= 4) qwq = sum( a{1 ... 4} ); if qwq 为 24 则 ans++; return 0; for(枚举 i 分别为+ - ×三种运算符) if i 为 + 则 dfs(x + 1); if i 为 - 则 a{x + 1} = a{x + 1} × -1; dfs(x + 1); a{x + 1} = a{x + 1} × -1; if i 为 × 则 tmp = a{x}; a{x + 1} = a{x + 1} × tmp; a{x} = 0; dfs(x + 1); a{x + 1} = a{x + 1} ÷ tmp; a{x} = tmp;
-
-22
写题解请注意 鼓励大家写题解,但注意题解格式。
题解一定要有思路解析或代码注释,能否让别人理解你的思路
也是你的能力的检验,不要只放无意义的代码给大家复制,那就失去了做题的初心。
给代码两端加上这个会舒服一些
```cpp
你的代码
```
</span>
这个点在键盘的左上角tab上面那个键,注意切换输入法
#include<iostream> using namespace std; int main() { int n; cin>>n;//这是一个注释 return 0; }
请注意严禁抄袭题解,写题解不要只放代码,需加上你的思路或代码注释。
抄袭题解一经发现直接取消成绩。
题解被删除的可能
- 代码不符合格式规范
- 没有思路讲解或者没有注释,
- 无意义的题解
大家携手共同维护一个良好的编程环境,如果一经发现,多次作乱。可能会被管理员拉黑,请注意,一旦拉黑即失去登陆资格。
- 1
信息
- ID
- 36
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 6
- 标签
- 递交数
- 2698
- 已通过
- 774
- 上传者