Вот сам код:
public class Task1 {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
double n = sc.nextDouble();
double znam = 2;
double sum = 0;
for(int i = 1; i <=n; i++){
sum+= 1/znam;
znam+=1;
System.out.println(sum);
}
}
}
Сейчас данный код выполняет задачу:
1/2 + 1/3 + 1/4+...
Нужно:
1+ 1/2 + 1/3 + 1/4+...
И так же:
1 –1/3 + 1/5 –1/7 + 1/9 –...
Hannibal
4 уровень
Помогите с кодом
Комментарии (5)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
hidden #1976401
29 июня 2020, 00:45
у Вас тип double если нужно вывести сумму с плавающей точкой пишите так 1.0/2.0 + 1.0/3.0..... в ином случае будет целочисленые вычесления типа int
0
Стас Пасинков Software Developer в Zipy Master
29 июня 2020, 08:42
нет, кажется тут все ок с этим :)
0
Стас Пасинков Software Developer в Zipy Master
25 июня 2020, 12:06
в первом случае надо сумму инициализировать единицей, а не нулем и просто вывести один раз на экран, а потом оставшийся код без изменений.
во втором случае - аналогично, но знаменатель увеличивать не на 1 на каждом шагу, а на 2, да и переменную где хранится знаменатель изначально инициализировать не двойкой, а тройкой, ну и знак менять в зависимости от того, четное ли значение в переменной i или нет.
0
proof yourself
25 июня 2020, 10:28
MultiTheEx, то что ты хочешь посчитать похоже на ряд Лейбница, решение ты можешь поискать на stackoverflow.
0
Ksenia MarioMaster
24 июня 2020, 15:50
нужно так напиши. в чем проблема? лекции в помощь. и помощь в помощь
+2