8239. Функция – 1

 

Реализуйте функцию f(x) = x3 + 2 * x2 – 3.

 

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

 

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

 

Пример входа

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

2.234

1

56

23.2

18.1309

0.0000

181885.0000

13560.6480

 

 

РЕШЕНИЕ

функция

 

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

Задачу можно решить двумя способами:

·        при помощи цикла: читаем x и выводим на лету значение f(x);

·        реализовать f(x) как функцию;

Входные данные следует читать до конца файла.

 

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

Читаем входные данные до конца файла.

 

while(scanf("%lf",&x) == 1)

{

 

Для каждого теста вычисляем и выводим ответ.

 

  y = x * x * x + 2 * x * x  - 3;

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

}

 

Реализация алгоритма – функция

Определим функцию f.

 

double f(double x)

{

  return x * x * x + 2 * x * x  - 3;

}

 

Читаем входные данные до конца файла, вычисляем и выводим ответ.

 

while(scanf("%lf",&x) == 1)

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

 

Java реализация

 

import java.util.*;

 

public class Main

{

  static double f(double x)

  {

    return x * x * x + 2 * x * x  - 3;

  }

 

  public static void main(String[] args)

  {

    Scanner con = new Scanner(System.in);

    while(con.hasNext())

    {

      double x = con.nextDouble();

      System.out.println(f(x));

    }

    con.close();

  }

}  

 

Python реализацияфункция

 

import sys

 

Определим функцию f.

 

def f(x):

  return x ** 3 + 2 * x * x – 3

 

Читаем входные данные до конца файла, вычисляем и выводим ответ.

 

for x in sys.stdin:

  x = float(x)

  print(f(x))

 

Python реализация

 

import sys

 

Читаем входные данные до конца файла.

 

for x in sys.stdin:

 

Для каждого теста вычисляем и выводим ответ.

 

  x = float(x)

  y = x ** 3 + 2 * x * x – 3

  print(y)