Задача
Вычислите значение [latex]y[/latex] в соответствии со следующим условием:
[latex]y = \begin{cases}
x+5, x<-4 \\
x^2-3x, -4\leq x\leq 7 \\
x^3+2x, x> 7
\end{cases}[/latex]
Входные данные
Одно целое число [latex]x\left ( -100\leq x\leq 100 \right )[/latex].
Выходные данные
Выведите значение [latex]y[/latex] в соответствии с заданным условием.
Тесты
№ | Ввод | Вывод |
1 | -8 | -3 |
2 | 5 | 10 |
3 | 81 | 531603 |
3 | -76 | -71 |
Код программы
1 2 3 4 5 6 7 8 9 10 11 12 |
#include <iostream> using namespace std; int main() { int x = 0, y = 0; cin >> x; if(x<-4) cout << x + 5 << endl; else if(x>=-4 && x<=7) cout << x*x - 3*x << endl; else if(x>7)cout << x*x*x + 2*x << endl; } return 0; } |
Решение
Используем условные операторы для того, чтобы определить в каком диапазоне находится [latex]x\left ( x< -4,-4\leq x\leq 7,x> 7 \right )[/latex] и в соответствии с условием задачи подставляем [latex]x[/latex] в определенное уравнение.
Слишком большие отступы, совсем нечитабельно.
И у меня половина вашей статьи покрыто белым полупрозрачным слоем.
Уберите кириллицу из постоянной ссылки
Кроме вышесказанного, используйте latex при оформлении формул вместо strong, следуя канонам оформления задач на сайте.
Все исправил. Еще какие-то замечания будут?
Будут.
— Процитирую Николь: «Используйте latex при оформлении формул». Только добавлю — всех.
— Зачем три раза писать один и тот же вывод во всех ветках циклов? Когда уберете, можно обойтись без фигурных скобок. Вот и еще на 8 строк будет короче. Считай, переполовиним Ваш текст 🙂
— Конечно, не просто придумать пояснением в такой простой задаче. Но Вы что-то напутали. Разве $x$ не дано? Разве мы его ищем условными операторами?
— Кстати, в этом году многие студенты никак не решаются закончить предложение и поставить точку.
Сделано.
Не обязательно, конечно, но можно «x» вынести за скобки в последних двух ответвлениях. Хотя тут конечно, что больше нравится— компактность или понятность