8241. Функция – 3

 

Реализуйте функцию f(x, y) = x2 + sin(x * y) – y2.

 

Вход. Каждая строка содержит два действительных числа x и y.

 

Выход. Для каждого теста выведите в отдельной строке значение функции f(x, y) с четырьмя десятичными знаками.

 

Пример входа

Пример выхода

2.234 2.12

10 23

56.1 0.012

23.26 5.1

-0.5034

-429.6161

3147.8333

514.3327

 

 

РЕШЕНИЕ

функции

 

Анализ алгоритма

Реализуем функцию f(x, y). Входные данные читаем до конца файла.

 

Реализация алгоритма

Реализуем функцию f.

 

double f(double x, double y)

{

  return x * x + sin(x * y) - y * y;

}

 

Основная часть программы. Читаем входные данные до конца файла.

 

while (scanf("%lf %lf", &x, &y) == 2)

  printf("%.4lf\n", f(x, y));

 

Java реализация

 

import java.util.*;

 

public class Main

{

  static double f(double x, double y)

  {

    return x * x + Math.sin(x * y) - y * y;

  }

  public static void main(String[] args)

  {

    Scanner con = new Scanner(System.in);

    while(con.hasNext())

    {

      double x = con.nextDouble();

      double y = con.nextDouble();

      System.out.printf("%.4f\n",f(x,y));

    }

    con.close();

  }

}  

 

Python реализация

 

import sys

import math

 

Реализуем функцию f.

 

def f(x,y):

  return x * x + math.sin(x * y) - y * y

 

Основная часть программы. Читаем входные данные до конца файла.

 

for x in sys.stdin:

  x, y =  map(float, x.split())

  print(f(x,y))