Проблема с java кодом

294
23 декабря 2016, 12:46

Проблема в вычислении суммы. В первом коде использовали W(i+1)/Wi=f(i) - разница между текущим элементом и последующим, и складываем по очереди текущий элемент с последующим, однако он не выдает правильного результата.(второй код решает правильно)

import static java.lang.Math.*;
import java.io.*;
class Example5{
public static int factorial (int n){
    if(n==0) return 1;
    for(int i=n;i>1;i--){ n*=(i-1);}
    return n;}
public static void main (String[]args)throws Exception{
BufferedReader br=new BufferedReader(
new InputStreamReader(System.in));
System.out.print("Number = ");
String k1=br.readLine();
int k=Integer.parseInt(k1);
double a=pow(-1,-2)*factorial(-2+3)/(2*(-2-4));
double sum=a;
for (int i=-1;k>=i;i++){
    if(i==3) i++;
    sum+=((4-i)*(i+4)*a)/(i-3);
    a=((4-i)*(i+4)*a)/(i-3);}
System.out.println("Sum= "+ sum);
}}

Изначально был вот такой код:

import static java.lang.Math.*;
import java.io.*;
class Example{
public static int factorial (int n){
    if(n==0) return 1;
    for(int i=n;i>1;i--){ n*=(i-1);}
    return n;}
public static void main (String[]args)throws Exception{
BufferedReader br=new BufferedReader(
new InputStreamReader(System.in));
System.out.print("Number = ");
String k1=br.readLine();
int k=Integer.parseInt(k1);
double sum=0;
for (int i=-2;k>=i;i++){
    if(i==4) i++;
    else
    sum+=(pow(-1,i)*factorial(i+3))/(2*(i-4));}
System.out.println("Sum= "+ sum);
}
}

Задание:

READ ALSO
Применение нейронных сетей и ИИ в Мобильных Приложениях.

Применение нейронных сетей и ИИ в Мобильных Приложениях.

Здравствуйте, хотелось бы узнать , примеры приложений , да и в целом, где и как применяются нейронные сети и ИИ в приложенияхСам пишу на java под...

339
Проблема с EditText

Проблема с EditText

Добрый день

312
Как изменить цвет выводимого в консоль текста?

Как изменить цвет выводимого в консоль текста?

Мне нужно написать консольное приложение, в котором через Systemout

696