Реализуйте
функцию 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);
}
Реализация алгоритма – функция
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)