Задача
Необходимо суммировать все нечётные целые числа в диапазоне, который введёт пользователь с клавиатуры.
Тесты
Начало диапазона | Конец диапазона | Вывод |
1 | 11 | 36 |
2 | 8 | 15 |
7 | 30 | 216 |
Решение
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
import java.util.*; import java.lang.*; import java.io.*; class Ideone { public static void main (String[] args) { int start = 0; // начало диапазона int finish = 0; // конец диапазона int sumUneven = 0; Scanner in = new Scanner(System.in); start = in.nextInt(); finish = in.nextInt(); int i = start; while (i <= finish) { if (i % 2 != 0) // если деление на 2 с остатком, в остатке нет 0, то => { System.out.println(i + " "); // показать нечетные sumUneven += i; // накапливать их сумму } i++; } System.out.println("\nSum of uneven numbers from " + start + " to " + finish + " = " + sumUneven); } } |
Я в недоумении…
— Откуда Вы взяли эту задачу? У меня с номером MS1 идёт совсем другая.
— Если задача потоковая, то пар чисел старт-финиш должно быть много и для каждой нужно сосчитать сумму нечетных чисел в диапазоне.
— Кто же циклом считает сумму нечетных чисел? Вам ведь в школе рассказывали про сумму арифметической прогрессии. Нужно использовать эти знания.
— Вы сделали ссылку на сайт на котором опубликовано это странное решение. Зачем? Я чувствую, что в Ваших действиях есть какая-то логика, но я её никак не могу ухватить.
— И, конечно, нужно сделать в программе правильные отступы.