Форум программистов, компьютерный форум CyberForum.ru

В выражении расставить знаки так, чтобы результат вычислений был равен 35 - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Динамический массив в классе http://www.cyberforum.ru/cpp-beginners/thread1139098.html
#include <iostream> #include <string> #include <conio.h> using namespace std; class person{ string name; int year; char pol;
C++ Объединение строк в тексте Прошу исправить мой код, суть состоит в том, чтобы в введённом тексте найти такую последовательность слов, в которой конечная буква предыдущего слова и начальная "идущего" слова совпадали если есть поправки насчёт адекватности кода, буду благодарен и ещё один вопрос, нужна ли структура, или как ещё вывести символьный массив из функции? всем прочитавшим буду благодарен #include... http://www.cyberforum.ru/cpp-beginners/thread1139093.html
ООП пример как сделать конструктор копирования на С++ C++
Покажите пожалуйста пример конструктора копирования на С++
C++ Нет возможности компилировать/выполнить/собрать.Что делать?
Собственно беда такая: открываю файл .cpp и вместо кнопки "Локальный Отладчик Windows"(может что-то другой, по памяти пишу) если кнопка "Присоединение". Просто как было в ...к примеру Geany:открываешь файл, жмешь компилировать, собрать, выполнить и, грубо говоря, успех.А тут все не так просто(
C++ Добавление, удаление строк в структуре http://www.cyberforum.ru/cpp-beginners/thread1139080.html
#include <iostream> #include <string.h> using namespace std; #define namesize 40 enum Mashina{Vivod=1,Dobavlenie=2,Udalenie=3,SortirovkaData=4,SortirovkaModel=5}; struct Car
C++ Метод деления отрезка попалам, метод хорд, метод простых итераций 3^x-3*x=5 #include <stdio.h> #include <conio.h> #include <math.h> // функция для вычисления f(х) float f(float x) { return pow(3,x)-3*x-5;//возвращаемое значение } подробнее

Показать сообщение отдельно
IrineK
Заблокирован
05.04.2014, 09:45     В выражении расставить знаки так, чтобы результат вычислений был равен 35
Еще вариант
(((( 1 + 2 ) + 3 ) * 4 ) + 5 ) + 6 == 35
Этот уже найден программно)

Добавлено через 2 минуты
И еще один выловился:
(((( 1 + 2 ) * 3 ) * 4 ) + 5 ) - 6 == 35

Добавлено через 25 минут
Может расставлять знаки между 1,2,3,4,5,6, чтобы получить заданное wanted:

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
#include <iostream>
using namespace std;
 
int Result (char *sequence)
{   int a = 1, b = 2, res, i;
    char c;
 
    for (i = 0; sequence[i] != '\0'; i++)
    {   c = sequence[i];
        switch (c)
        {   case '+':   res = a+b;
                        break;
            case '-':   res = a-b;
                        break;
            case'*':    res = a*b;
                        break;
            case '/':   res = a/b;
                        break;
        }
        a = res;
        b++;
    }
    return res;
}
 
void Generate (char *res, char *seq)
{   int i = -1, j = -1;
    int num = 0;
    while (++i < 4)
        res[i] = '(';
    res[i] = ++num + 48;
    while (i < 20)
    {   res[++i] = seq[++j];
        res[++i] = ++num + 48;
        res[++i] = ')';
    }
    res[19] = '\0';
}
 
int main()
{   int i,j,k,m,n;
    int wanted = 35;
    char answer[30];
    char sequence[6];
    char *sign = "+-*/";
 
    for (i = 0; i<4; i++)
        for (j = 0; j<4; j++)
            for (k = 0; k<4; k++)
                for (m = 0; m<4; m++)
                    for (n = 0; n<4; n++)
                    {   sequence[0] = sign[i];
                        sequence[1] = sign[j];
                        sequence[2] = sign[k];
                        sequence[3] = sign[m];
                        sequence[4] = sign[n];
                        sequence[5] = '\0';
                        if (Result (sequence) == wanted)
                        {   Generate (answer, sequence);
                            cout << answer << '\n';
                        }
                    }
 
    cin.get();
    return 0;
}
С добрым утром )
Изображения
 
 
Текущее время: 09:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru