Задача.
Дано действительное число х. Не пользуясь никакими другими арифметическими операциями кроме сложения, вычитания и умножения, вычислить:
[latex]2x^4 + 3x^3 — 4x^2 — 5x +6[/latex]Разрешается использовать не более четырех умножений и четырех сложений и вычитаний.
Тест
x | p | комментарий |
0 | 6 | пройдено |
1 | 2 | пройдено |
5 | 1506 | пройдено |
-6 | 1836 | пройдено |
-20 | 294506 | пройдено |
25 | 825506 | пройдено |
50 | 12864756 | пройдено |
100 | 202959506 | пройдено |
1 2 3 4 5 6 7 8 9 10 |
#include <iostream> #include <math.h> int main() { double p, x; scanf("%lf", &x); p = (((2*x + 3)*x - 4)*x - 5)*x + 6; printf("%lf", p); return 0; } |
Ссылка на программу на С++: http://ideone.com/DjvDnb
Ссылка на программу на Java: http://ideone.com/5XNsDv
1 2 3 4 5 6 7 8 9 10 11 12 13 |
import java.util.*; import java.lang.*; import java.io.*; class Ideone { public static void main (String[] args) { Scanner in=new Scanner(System.in); double x=in.nextDouble(); double p=in.nextDouble(); p = (((2*x + 3)*x - 4)*x - 5)*x + 6; System.out.println(p); } } |
Решение.
Вводим переменные [latex]x, p[/latex]. Поэтапно группируя по два старших члена уравнения, получаем:
7 |
p = (((2*x + 3)*x - 4)*x - 5)*x + 6; |
Пользуясь четырьмя операциями умножения, двумя сложения и вычитания и вводя соответствующие значения [latex]x[/latex], получаем ответ.