Lập trình Java - Tính giá trị của đa thức P(x)
Tính giá trị của đa thức P(x)=anxn+ an-1xn-1+ ... + a1x+ a0 theo cách tính của Horner: P(x)=((((anx+ an-1)x+ an-2... + a1)x+ a0
Mã nguồn chương trình:
import java.util.Scanner;
public class Bai17 {
public static int nhap(){
Scanner input= new Scanner(System.in);
boolean check= false;
int n=0;
while(!check){
System.out.print(" ");
try{
n= input.nextInt();
check= true;
}catch(Exception e){
System.out.println("Ban phai nhap so! hay nhap lai...");
input.nextLine();
}
}
return (n);
}
public static void horner(int a[], int n){
int T=0,i,x;
System.out.println("\n Nhap x= ");
x= nhap();
T= a[n];
for(i=n ; i>0 ; i--){
T= T*x + a[i-1];
}
System.out.println("Gia tri cua da thuc tinh theo cong thuc Horner la: "+T);
}
public static void main(String[] args) {
int i;
System.out.println("Nhap bac cua da thuc n= ");
int n= nhap();
int[] array= new int[n+1];
for(i=n ; i>=0 ; i--){
System.out.print("Nhap he so cua x^"+i+" = ");
array[i]= nhap();
}
horner(array,n);
}
}
Kết quả:
Nhap bac cua da thuc n=
2
1
2
3
Nhap he so cua x^2 = Nhap he so cua x^1 = Nhap he so cua x^0 =
Nhap x=
3
Gia tri cua da thuc tinh theo cong thuc Horner la: 18