Góc thủ thuật sv | Hướng dẫn lập trình java cơ bản | Chia sẻ code

Bài 12. 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

3:36 AM |
import java.util.Scanner;
public class Main {
    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);
    }


}