Задача
Пусть [latex]D[/latex] — заштрихованная часть плоскости (рис.) и пусть [latex]u[/latex] определяется по [latex] x [/latex] и [latex] y [/latex] следующим образом (запись [latex] (x, y)[/latex] [latex] \in[/latex] [latex]D [/latex] означает, что точка с координатами [latex] x ,y [/latex] принадлежит [latex] D [/latex]).
[latex]u=\left\{\begin{matrix}x+y,&\left(x,y\right)\in D\\x-y,&\left(x,y\right)\notin D\end{matrix}\right.[/latex]
Код C++
1 2 3 4 5 6 7 8 9 10 11 |
#include <iostream> #include <math.h> using namespace std; int main() { double x, y; scanf("%lf %lf", &x, &y); double u = (y>=x*x) && (y<=exp(-x)) && (y<=exp(x))? x+y : x-y; printf("%7.3lf", u); return 0; } |
Код Java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
import java.util.*; import java.lang.*; import java.io.*; import java.math.*; class Coordinates{ public static void main (String[] args) throws java.lang.Exception { Scanner read = new Scanner(System.in); double x = read.nextDouble(); double y = read.nextDouble(); double u; if((y >= x*x) && (y <= Math.exp(-x)) && (y <= Math.exp(x))) u = x+y; else u = x-y; System.out.print(u); } } |
Код Java на Ideone: A60e
Комментарии
Для всех трех функций необходимо проверить чтобы заданная ордината была больше [latex]y=x^{2}[/latex] и одновременно меньше [latex]y=e^{-x}[/latex] , [latex]y=e^{x}[/latex].
Тесты
x | y | Результат | Комментарий |
0 | 0 | 0 | Пройден |
0 | 1 | 1 | Пройден |
34 | 45 | -11 | Пройден |
Зачтено