几乘几等于几乘5-几1到8填入四个等式同一个数,使等式成立

扫描二维码,关注牛客网
下载牛客APP,随时随地刷题
浙ICP备号-2
扫一扫,把题目装进口袋在下列等式的■内填入一个自然数(每个等式的几个■里应填入相同的数),使等式成立.(1) ■×5-(11×■-■×3)÷2+8=20(2) [(■×9+■×3)×2+■×2]÷3=52
为您推荐:
其他类似问题
第一题:12第二题:6
3/8=1/6 1/8 1/12
扫描下载二维码在24/31<80/「」<7/9的方框内填入一个整数,使不等式成立。问:要填入的整数是多少_百度知道
在24/31<80/「」<7/9的方框内填入一个整数,使不等式成立。问:要填入的整数是多少
24/31<80/x<7/9由24/31<80/x得;7=720&#47:x>80×9&#47,则:x<80×31&#47令【】=x;7=102+6/7∴102+6&#47,x>0;7<x<103+1/3由80/x<7/9得;3=103+1/24x<310&#47
来自团队:
其他类似问题
为您推荐:
不等式的相关知识
其他1条回答
怎么算啊,大师,五年级的
一个一个慢慢算出来的。。。
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁输入一个正整数X,在等式 1 2 3 4 5 6 7 8 9 = X左边的数字之间添加+号或者-号,使得等式成立。
输入一个正整数X,在等式 1 2 3 4 5 6 7 8 9 = X左边的数字之间添加+号或者-号,使得等式成立。
围观3041次
编辑日期: 字体:
题目描述:输入一个正整数X,在下面的等式左边的数字之间添加+号或者-号,使得等式成立。
1 2 3 4 5 6 7 8 9 = X
12-34+5-67+89 = 5
1+23+4-5+6-7-8-9 = 5
请编写程序,统计满足输入整数的所有整数个数。
输入: 正整数,等式右边的数字
输出: 使该等式成立的个数
样例输入:5
样例输出:21
问题描述中提到:在等式 1 2 3 4 5 6 7 8 9 = X左边的数字之间添加+号或者-号,使得等式成立。当然看到例子:1+23+4-5+6-7-8-9 = 5,我们可以得到数字之间也可以不添加任何符号,所以数字之间有三种情况。
1. 添加+号
3.不添加任何符号,也即将数字合在一起看成一个数,如12
我们可以采用如下两个步骤实现:
步骤一:采用递归的方式获取数字之间添加+号,-号或者不添加任何符号的情况
1-2+34+5678-9
1-2+34+56789
1-2+34-5+6+7+8+9
1-2+34-5+6+7+8-9
1-2+34-5+6+7+89
1-2+34-5+6+7-8+9
1-2+34-5+6+7-8-9
步骤二:将步骤一中得到的字符串组合完成算术运算,然后再与期望的和值X相比较,如相等则是满足等式的一种结果
代码如下:
package com.thecodesample.
public class PrintAllPossiableCombination {
private int count = 0;
public void find(int[] numbers, int fromIndex, int endIndex,
StringBuilder currNumbersExpression, int sum, char[] symbols) {
if (fromIndex == endIndex) {
if (equalsToSum(currNumbersExpression, sum)) {
System.out.println(currNumbersExpression.toString() + & = &
// fromIndex == endIndex表示所有的数据已经处理完毕,直接可以返回
int tempFromIndex = fromIndex + 1;
for (char c : symbols) {
StringBuilder temp = new StringBuilder(
currNumbersExpression.toString());
if (c != ' ') {
temp.append(c);
temp.append(numbers[tempFromIndex]);
find(numbers, tempFromIndex, endIndex, temp, sum, symbols);
private boolean equalsToSum(StringBuilder currNumbersExpression, int sum) {
int result = 0;
StringBuilder sb = new StringBuilder();
boolean lastSymbolIsAdd =
boolean firstNumber =
for (char c : currNumbersExpression.toString().toCharArray()) {
if (c == '+' || c == '-') {
if (firstNumber) {
result = Integer.parseInt(sb.toString());
firstNumber =
// 需要根据上一次的符号计算
if (lastSymbolIsAdd) {
result += Integer.parseInt(sb.toString());
result -= Integer.parseInt(sb.toString());
lastSymbolIsAdd = (c == '+');
sb.setLength(0);
sb.append(c);
// 最后至少包含一个数字9,需要再做一次处理
if (lastSymbolIsAdd) {
result += Integer.parseInt(sb.toString());
result -= Integer.parseInt(sb.toString());
return result ==
public int getCount() {
public void setCount(int count) {
this.count =
测试代码及其运行结果如下:
package com.thecodesample.
public class Main {
public static void main(String[] args) {
char[] symbols = { '+', '-', ' ' };
int[] numbers = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
StringBuilder sb = new StringBuilder();
sb.append(numbers[0]);
int sum = 5;
System.out.println(&当X = & + sum + & 时满足的等式如下:&);
PrintAllPossiableCombination test = new PrintAllPossiableCombination();
test.find(numbers, 0, numbers.length - 1, sb, sum, symbols);
System.out.println(&一共找到& + test.getCount() + &种符合条件的结果&);
当X = 5 时满足的等式如下:
1+2+3+4-5+6-7-8+9 = 5
1+2+3+4-5-6+7+8-9 = 5
1+2+3-4+5+6-7+8-9 = 5
1+2+34-56+7+8+9 = 5
1+2-3+4+5+6+7-8-9 = 5
1+2-3-4+5-6-7+8+9 = 5
1+2-3-4-5+6+7-8+9 = 5
1+2-3-45+67-8-9 = 5
1+23+4-5+6-7-8-9 = 5
1-2+3+4-5-6-7+8+9 = 5
1-2+3-4+5-6+7-8+9 = 5
1-2+3-4-5+6+7+8-9 = 5
1-2-3+4+5+6-7-8+9 = 5
1-2-3+4+5-6+7+8-9 = 5
1-2-3-4-5-6+7+8+9 = 5
1-2-3-4-56+78-9 = 5
1-2-34-56+7+89 = 5
1-23+4+5-6+7+8+9 = 5
1-23+45+6-7-8-9 = 5
1-23-4-56+78+9 = 5
12-34+5-67+89 = 5
一共找到21种符合条件的结果
本文固定链接:
转载请注明:
作者:admin
这个作者貌似有点懒,什么都没有留下。
您可能还会对这些文章感兴趣!}

我要回帖

更多关于 填入1 9使等式成立 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信