60 lines
1.4 KiB
Java
60 lines
1.4 KiB
Java
|
/*
|
|||
|
This is a Java Program to Implement Horner Algorithm. Horner’s method is an efficient method for calculating polynomials.
|
|||
|
*/
|
|||
|
|
|||
|
/**
|
|||
|
** Java Program to implement Horner Algorithm
|
|||
|
**/
|
|||
|
|
|||
|
import java.util.Scanner;
|
|||
|
|
|||
|
public class Horner
|
|||
|
{
|
|||
|
private int sum;
|
|||
|
/** constructor **/
|
|||
|
public Horner(int[] cof, int x)
|
|||
|
{
|
|||
|
sum = 0;
|
|||
|
calcSum(cof, x, cof.length - 1);
|
|||
|
display();
|
|||
|
}
|
|||
|
/** Calculate sum **/
|
|||
|
private void calcSum(int[] cof, int x, int N)
|
|||
|
{
|
|||
|
sum = cof[N] * x;
|
|||
|
for (int i = N - 1; i >= 1; i--)
|
|||
|
sum = (sum + cof[i]) * x;
|
|||
|
sum += cof[0];
|
|||
|
}
|
|||
|
public void display()
|
|||
|
{
|
|||
|
System.out.println("Evaluated sum = "+ sum);
|
|||
|
}
|
|||
|
/** main method **/
|
|||
|
public static void main(String[] args)
|
|||
|
{
|
|||
|
Scanner scan = new Scanner(System.in);
|
|||
|
System.out.println("Horner Algorithm Test\n");
|
|||
|
System.out.println("Enter highest power");
|
|||
|
int n = scan.nextInt();
|
|||
|
int[] arr = new int[n + 1];
|
|||
|
System.out.println("\nEnter "+ (n + 1) +" coefficients in increasing order");
|
|||
|
for (int i = 0; i <= n; i++)
|
|||
|
arr[i] = scan.nextInt();
|
|||
|
System.out.println("\nEnter x");
|
|||
|
int x = scan.nextInt();
|
|||
|
Horner h = new Horner(arr, x);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/*
|
|||
|
Enter highest power
|
|||
|
5
|
|||
|
|
|||
|
Enter 6 coefficients in increasing order
|
|||
|
1 2 3 4 5 6
|
|||
|
|
|||
|
Enter x
|
|||
|
2
|
|||
|
Evaluated sum = 321
|