я знаю, что метод horners для умножения полиномов быстрее, но здесь я не знаю, что здесь происходит, код
public class horner{
public static final int n=10;
public static final int x=7;
public static void main(String[] args){
//non fast version
int a[]=new int[]{1,2,3,4,5,6,7,8,9,10};
int xi=1;
int y=a[0];
for (int i=1;i<n;i++){
xi=x*xi;
y=y+a[i]*xi;
}
System.out.println(y);
//fast method
int y1=a[n-1];
for (int i=n-2;i>=0;i--){
y1=x*y+a[i];
}
System.out.println(y1);
}
}
результат этих двух методов не одинаков
результат первого метода
462945547
и результат второго метода
-1054348465
помогите пожалуйста