Skip to content

Commit 97f2a69

Browse files
committed
RandomProblem005.java evaluating polynomial using Horner method
1 parent fcfd317 commit 97f2a69

File tree

2 files changed

+38
-0
lines changed

2 files changed

+38
-0
lines changed
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package com.shekhargulati.ninetynine_problems.java8._00_random.algebra;
2+
3+
/**
4+
* Write a program that can evaluate a polynomial
5+
* p(x) = ao + a1x^1 + a2x^2 + .... + anx^n
6+
* <p>
7+
* https://en.wikipedia.org/wiki/Horner%27s_method
8+
*/
9+
public class RandomProblem005 {
10+
11+
public static int evaluatePolynomialAt(int n, int a, int x) {
12+
int result = a;
13+
for (int i = 1; i <= n; i++) {
14+
result = result + Double.valueOf(a * Math.pow(x, i)).intValue();
15+
}
16+
return result;
17+
}
18+
19+
public static int eval(int n, int a, int x) {
20+
int res = 0;
21+
for (int i = n; i >= 0; i--) {
22+
res = (res * x) + a;
23+
}
24+
return res;
25+
}
26+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package com.shekhargulati.ninetynine_problems.java8._00_random.algebra;
2+
3+
import org.junit.Test;
4+
5+
public class RandomProblem005Test {
6+
7+
@Test
8+
public void shouldEvaluateAPolynomial() throws Exception {
9+
System.out.println(RandomProblem005.eval(10, 5, 2));
10+
System.out.println(RandomProblem005.evaluatePolynomialAt(10, 5, 2));
11+
}
12+
}

0 commit comments

Comments
 (0)