0 / 0 / 0
Регистрация: 24.04.2017
Сообщений: 18
1

Найти все возможные варианты получить выражение со значением 100

05.12.2018, 13:46. Показов 4024. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Имеются цифры от 1 до 9, расположенные по возрастанию
(убыванию). Требуется расставить между ними произвольное количество
знаков <<плюс>> и <<минус>>, чтобы получилось выражение
со значением 100. Например,
123 + 4 – 5 + 67 – 89 = 100
9 – 8 + 76 – 5 + 4 + 3 + 21 = 100
Найти все возможные варианты таких выражений.
Задали, а я вообще не понимаю как её сделать...
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.12.2018, 13:46
Ответы с готовыми решениями:

Получить все возможные варианты загрузки ящиков
На перевозку 800 кг овощей с базы подготовлены ящики. В них можно загрузить по 8, 10 и 15...

Получить все возможные варианты расположения букв
Нужно сделать так чтобы пользователь мог ввести слово и получить все возможные варианты...

Комбинаторика - как получить все возможные варианты?
Всем привет! Есть задача. Даны четыре буквы A B C D. Всего можно получить 24 варианта смешения этих...

Получить все возможные варианты комплектов книг. Исправить код
#include&lt;iostream.h&gt; using namespace std; int main() { int i=0, j=0, k=0, m=0;...

10
315 / 244 / 149
Регистрация: 03.10.2017
Сообщений: 886
Записей в блоге: 1
05.12.2018, 14:36 2
Это скорее всего рекурсия с перебором
0
0 / 0 / 0
Регистрация: 24.04.2017
Сообщений: 18
05.12.2018, 14:43  [ТС] 3
Вот я и не понимаю, как устроить этот перебор, да ещё и со склеиванием...
0
0 / 0 / 0
Регистрация: 24.04.2017
Сообщений: 18
06.12.2018, 10:57  [ТС] 4
Решил
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
 
        private void button2_Click(object sender, EventArgs e)
        {
            textBox2.Text = "";
            int value = Convert.ToInt32(textBox3.Text);
            textBox2.Text += "Выведены все комбинации равные " + value;
            textBox2.Text += Environment.NewLine;
            int i = 0;
            int count = 0;
            for (i = 0; i < 19683; ++i)
            {
                int calculatedValue = calculateCombination(i);
                if (calculatedValue == value)
                {
                    ++count;
                    printCombination(i);
                    textBox2.Text += "=" + calculatedValue;
                    textBox2.Text += Environment.NewLine;
                }
            }
            textBox2.Text +="Найдено "+  count+" комбинаций";
        }
        //Вычисляет возможные комбинации
        int calculateCombination(int id)
        {
            int result = 0;
            int leftNumber = 0;
            int operation = 1;
            int i;
            for (i = 1; i < 10; ++i)
            {
                leftNumber = leftNumber * 10 + i;
                if (id % 3 != 0)
                {
                    if (operation == 2)
                        result -= leftNumber;
                    else
                        result += leftNumber;
                    leftNumber = 0;
                    operation = id % 3;
                }
                id /= 3;
            }
            if (operation == 2)
                result -= leftNumber;
            else
                result += leftNumber;
            return result;
        }
        //выводит полученную комбинацию в textBox
        int printCombination(int combinationId)
        {
            int id = combinationId;
            int j, v;
            for (v = id, j = 0; j < 10; ++j, v /= 3)
            {
                textBox2.Text += j + "" + ((v % 3) == 0 ? "" : (v % 3 == 1) ? "+" : "-");
            }
            return 0;
        }
 
    }
 
}
0
Модератор
Эксперт .NET
15820 / 10974 / 2846
Регистрация: 21.04.2018
Сообщений: 32,200
Записей в блоге: 2
06.12.2018, 11:59 5
Цитата Сообщение от Kekeksey Посмотреть сообщение
Имеются цифры от 1 до 9, расположенные по возрастанию
(убыванию). Требуется расставить между ними произвольное количество
знаков <<плюс>> и <<минус>>, чтобы получилось выражение
со значением 100. Например,
123 + 4 – 5 + 67 – 89 = 100
9 – 8 + 76 – 5 + 4 + 3 + 21 = 100
В задании Вы пишите "по возрастанию", а во втором примере цифры расположены по убыванию.
Что не верно: ТЗ или пример?
0
51 / 43 / 12
Регистрация: 12.05.2017
Сообщений: 111
06.12.2018, 12:11 6
Элд Хасп,
Цитата Сообщение от Kekeksey Посмотреть сообщение
Имеются цифры от 1 до 9, расположенные по возрастанию
(убыванию)
Всё там верно)
0
0 / 0 / 0
Регистрация: 18.12.2021
Сообщений: 9
17.06.2022, 18:31 7
при запуске и введении цифр в указанном порядке пишет "System.FormatException
HResult=0x80131537
Сообщение = Input string was not in a correct format.
Источник = System.Private.CoreLib
Трассировка стека:
в System.Number.ThrowOverflowOrFormatException(ParsingStatus status, TypeCode type)
в System.Convert.ToInt32(String value)
в kalk.Form1.button1_Click(Object sender, EventArgs e) в C:\Users\username\source\repos\kalk\kalk\Form1.cs:строка 25
в System.Windows.Forms.Control.OnClick(EventArgs e)
в System.Windows.Forms.Button.OnClick(EventArgs e)
в System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
в System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
в System.Windows.Forms.Control.WndProc(Message& m)
в System.Windows.Forms.ButtonBase.WndProc(Message& m)
в System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
в System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, WM msg, IntPtr wparam, IntPtr lparam)
"
Помогите разобраться с это ошибкой
0
help
4503 / 4118 / 814
Регистрация: 13.04.2015
Сообщений: 9,016
17.06.2022, 18:41 8
Цитата Сообщение от EbaKnight Посмотреть сообщение
Помогите разобраться с это ошибкой
Пишет, что входная строка имела неверны формат. А код где?
0
0 / 0 / 0
Регистрация: 18.12.2021
Сообщений: 9
17.06.2022, 20:17 9
код точь в точь как у автора ( он выше написал "решил ")
0
help
4503 / 4118 / 814
Регистрация: 13.04.2015
Сообщений: 9,016
17.06.2022, 23:27 10
Цитата Сообщение от EbaKnight Посмотреть сообщение
код точь в точь как у автора
ну и что вводишь в тексбокс?
0
0 / 0 / 0
Регистрация: 18.12.2021
Сообщений: 9
19.06.2022, 12:33 11
пробовал уже как и просто числа вписывать с пробелом и без так и выражение писать целиком с знаком = ибез него . В любом случае даёт ошибку
0
19.06.2022, 12:33
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.06.2022, 12:33
Помогаю со студенческими работами здесь

Перестановкой строк и столбцов получить все возможные варианты матрицы
Задача в следующем. Имеется матрица произвольного n на m. Необходимо перестановкой строк и столбцов...

Получить все возможные варианты трехзначных чисел, которые можно составить из двух заданных
Заданы две цифры от 0 до 9. Получить все возможные варианты трехзначных чисел, которые можно...

Получить все возможные варианты трёхзначных чисел, которые можно составить из двух заданных
Помогите. Заданы две цифры от 0 до 9. Получите все возможные варианты трёхзначных чисел,которые...

Найти все возможные варианты прочтения строки
var s = 'neseswnnew'; ///есть строка var d = ;//есть возможные варианты var da = ;// и такие...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru