С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/10: Рейтинг темы: голосов - 10, средняя оценка - 5.00
Li_21
0 / 0 / 0
Регистрация: 25.02.2014
Сообщений: 14
1

Сумма всех чисел от m до n без использования какого-либо цикла

11.03.2014, 17:08. Просмотров 2027. Ответов 4
Метки нет (Все метки)

спасибо за помощь
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.03.2014, 17:08
Ответы с готовыми решениями:

Поиск простых чисел без использования массивов
День добрый! Хочу сразу заметить что не являюсь программистом или...

Сумма всех целых чисел в строке
Доброго времени суток. Программа работает только для некоторых случаев,...

HASHMAP Сумма всех чисел равна 1.0
import jdk.internal.org.objectweb.asm.tree.analysis.Value; import...

Посчитать сумму ширины всех элементов в наборе без использования цикла
Доброго времени суток, задался вот таким вопросом. Есть набор элементов,...

Сумма логарифмов всех простых чисел от 2 до какого-нибудь числа
Напишите программу, которая вычисляет сумму логарифмов всех простых чисел от 2...

4
turbanoff
Эксперт Java
4020 / 3755 / 742
Регистрация: 18.05.2010
Сообщений: 9,329
Записей в блоге: 11
Завершенные тесты: 1
11.03.2014, 18:38 2
Если без циклов, то рекурсия
Java
1
2
3
4
5
6
7
8
9
10
public static int sum(int m, int n) {
   return sum(m, n, 0);
}
 
public static int sum(int m, int n, int currentSum) {
   if (m > n) {
      return currentSum;
   }
   return sum(m + 1, n, currentSum + m);
}
2
verylazy
Заблокирован
11.03.2014, 18:42 3
а я на вики подсмотрел формулу суммы первых n членов арифметической прогрессии и получилось слегка топорно
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import java.util.Scanner;
 
public class SummWithoutCycle {
 
    public static void main(String[] args) {
 
        Scanner scan = new Scanner(System.in);
        System.out.println("Введите M");
        int m = scan.nextInt();
        System.out.println("Введите N");
        int n = scan.nextInt();
        System.out.println("Сумма от " + m + " до " + n + " = " + sum(m, n));
 
    }
 
    static int sum(float m, float n) {
        float sumM = 0;
        if (m > 1) {
            sumM = m / 2 * (m - 1);
        }
        float sumN = (1 + n) / 2 * n;
        return (int) (sumN - sumM);
    }
}
с рекурсией круто, у меня так голова не работает
0
Li_21
0 / 0 / 0
Регистрация: 25.02.2014
Сообщений: 14
11.03.2014, 18:59  [ТС] 4
turbanoff,
спасибо большое за ответ=)
А можно ли во втором случае переменную currentSum убрать из параметра метлда и проинициализировать ее теле метода?
0
turbanoff
Эксперт Java
4020 / 3755 / 742
Регистрация: 18.05.2010
Сообщений: 9,329
Записей в блоге: 11
Завершенные тесты: 1
12.03.2014, 08:59 5
Li_21, нет

Добавлено через 13 часов 54 минуты
Li_21, Я вам наврал. Это можно сделать
Java
1
2
3
4
5
6
    public static int sum(int m, int n) {
        if (m > n) {
            return 0;
        }
        return m + sum(m + 1, n);
    }
0
12.03.2014, 08:59
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.03.2014, 08:59

Сумма элементов в одномерном массиве после какого-либо числа
у меня такой вопрос, как находить например, сумму элементов в одномерном...

Организация цикла без использования оператора цикла
Вычислить значение функции:F=система из 3-х уравнений...1 ур-ие:2*a*Y, при...

Подсчет количества элементов списка без какого-либо указанного элемента
Написать программу для подсчета количества элементов списка без какого-либо...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru