Форум программистов, компьютерный форум, киберфорум
Java для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 10.02.2022
Сообщений: 4

Найти минимальное количество слагаемых в сумме, при котором сумма превысит 1000

10.02.2022, 17:21. Показов 1270. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Дана задача: "Найти минимальное количество слагаемых в сумме, при котором сумма превысит 1000. Кроме этого найти значение последнего слагаемого и его номер. 1*2*3 + 1*2*3*9 + 1*2*3*4*27 + ...", где нужно использовать объект - класс. Пробовал делать несколько раз, но ничего не получается. Буду очень благодарен за помощь!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.02.2022, 17:21
Ответы с готовыми решениями:

Найти минимальное количество слагаемых в сумме, при котором сумма превысит 1000.
Найти минимальное количество слагаемых в сумме, при котором сумма превысит 1000.Кроме этого найти значение последнего слагаемого и его...

Вывести значение слагаемого, при котором сумма ряда превысит 1000
Вывести значение слагаемого, при котором сумма ряда 2/3+4/5+6/7.. превысит 1000. program wtf; var k, Sum: real; i: integer; ...

Вывести номер слагаемого, при котором сумма ряда превысит 1000
Помощь срочно Дано вещественное число t(0<t<1). Вывести номер слагаемого, при котором сумма ряда (2+t)/t + (3+t)/2t + (4+t)/3t + ......

9
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
10.02.2022, 17:25
Цитата Сообщение от Nondirkut Посмотреть сообщение
Пробовал делать несколько раз, но ничего не получается.
Попытки в студию!
0
 Аватар для proger979
29 / 21 / 9
Регистрация: 13.08.2019
Сообщений: 89
10.02.2022, 18:15
Arsegg, совершенно прав про попытки...
Сразу будут видны: личные усилия, и что не получается..

А, если просто дать Вам код - толку для обучения будет ноль...


Поэтому, с нетерпением ждём публикацию попыток в этой теме!
0
0 / 0 / 0
Регистрация: 10.02.2022
Сообщений: 4
10.02.2022, 18:51  [ТС]
Код класса:
Java
1
2
3
4
5
6
7
8
9
10
package pr21;
public class Factorial {
    int f = 1;
    public int factorial(int n) {
        for (int i=2; i<=n; i++){
            f*=i;
        }
        return f;
    }
}
Код главной программы
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
package pr21;
public class PR21 {
    public static void main(String[] args) {
        int sum = 0;
        int i = 0;
        int summand = 0;
        Factorial pr21 = new Factorial();
        while (sum < 1000) {
            summand = pr21.factorial(i++); // Слагаемое
            sum += summand;
        }
        System.out.println("1*2*3 + 1*2*3*9 + 1*2*3*4*27 + ...");
        System.out.println("Минимальное количество слагаемых: " + i);
        System.out.println("Значение последнего слагаемого: " + summand);
    }  
}
По идее, далее, после точек, должно идти 1*2*3*4*5*81, минимальное количество слагаемых будет равняться 4, а значение последнего слагаемого - 9720, но в результате этого кода выводит 6 и 34560.
0
 Аватар для proger979
29 / 21 / 9
Регистрация: 13.08.2019
Сообщений: 89
10.02.2022, 21:01
Правильно ли я понимаю входную последовательность:
в слагаемом сначала идёт факториал чисел, а последнее число в слагаемом - степень тройки?
0
0 / 0 / 0
Регистрация: 10.02.2022
Сообщений: 4
10.02.2022, 21:03  [ТС]
Получается, что да. Т.е. это будет иметь вид (n+1)*3^n
0
 Аватар для proger979
29 / 21 / 9
Регистрация: 13.08.2019
Сообщений: 89
11.02.2022, 01:53
Nondirkut,

В тесте получается как-то так:

i= 3 summand= 5 sum= 5
i= 4 summand= 15 sum= 20
i= 5 summand= 51 sum= 71
i= 6 summand= 201 sum= 272
i= 7 summand= 963 sum= 1235
1*2*3 + 1*2*3*9 + 1*2*3*4*27 + ...
Минимальное количество слагаемых: 7
Значение последнего слагаемого: 963

т.е, вываливается 5 итерации

сюда код выкладывать не хочу, потамучто сырой...
могу заслать куда скажешь...
посмотришь идею - допилишь...

Добавлено через 25 минут
Nondirkut,
Получается, что да. Т.е. это будет иметь вид (n+1)*3^n
Скорее (n+2)!*3^n

Добавлено через 1 час 14 минут
Ошибся я
правильно (n+1)!*3^n

Добавлено через 2 часа 52 минуты
Всё гораздо проще, чем первоначально кажется...

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
25
26
27
28
29
30
31
32
33
public class SequenceSumCalc2 {
 
    public static void main(String[] args) {
        int sum = 0;
        int factorialBuff = 1;
        int degreeBuff = 1;
        int sumAdd = 0;
        int i = 1;
        final int LIMIT = 1000;
 
        while (sum < LIMIT) {
            factorialBuff *= (i + 1);
            degreeBuff *= 3;
 
            sumAdd = factorialBuff * degreeBuff; // Слагаемое
 
            if ((sum + sumAdd) > LIMIT) {
                factorialBuff /= (i + 1);
                degreeBuff /= 3;
                sumAdd = factorialBuff * degreeBuff;
                i--;
                break;
            }
 
            sum += sumAdd;
            ++i;
        }
        System.out.println("Минимальное количество слагаемых: " + i);
        System.out.println("Значение последнего слагаемого: " + sumAdd);
        System.out.println("Сумма: " + sum);
    }
 
}
Консоль:

Минимальное количество слагаемых: 3
Значение последнего слагаемого: 648
Сумма: 708

Добавлено через 7 минут
26 строка: i++;
1
0 / 0 / 0
Регистрация: 10.02.2022
Сообщений: 4
12.02.2022, 22:09  [ТС]
Спасибо за код, но он все равно неправильный. В итоге у меня получилось написать код, который выдает правильный ответ.
0
502 / 348 / 134
Регистрация: 14.06.2016
Сообщений: 669
12.02.2022, 22:19
Цитата Сообщение от Nondirkut Посмотреть сообщение
Спасибо за код, но он все равно неправильный. В итоге у меня получилось написать код, который выдает правильный ответ.
Так порадуй всех
0
 Аватар для proger979
29 / 21 / 9
Регистрация: 13.08.2019
Сообщений: 89
12.02.2022, 23:08
Цитата Сообщение от Nondirkut Посмотреть сообщение
Спасибо за код, но он все равно неправильный. В итоге у меня получилось написать код, который выдает правильный ответ.
Цитата Сообщение от vcrop Посмотреть сообщение
Так порадуй всех
Присоединяюсь....
Интересно посмотреть правильно работающий код.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.02.2022, 23:08
Помогаю со студенческими работами здесь

Вывести значение слагаемого, при котором сумма заданного ряда превысит 1000
вывести значение слагаемого, при котором сумма ряда 2/3+4/5+6/7...превысит 1000. Знаю, что числитель возводим в степень и знаменатель...

Дано вещественное число k, вывести значение слагаемого, при котором сумма ряда превысит 1000
Дано вещественное число k (0&lt;k&lt;1). Вывести значение слагаемого, при котором сумма ряда...

Найти наименьшее N, при котором сумма sin1+...+sinN превысит заданное значение
Найти наименьшее N (в градусах), при котором сумма sin1+sin2+sin3+...+sinN превысит наперед заданное число а. Кто может хотя бы подсказать...

Определить минимальное количество слагаемых для аппроксимации, при котором средняя ошибка аппроксимации не превышает 5%
Функция аппроксимируется степенным рядом на интервале x = . Автоматически (с помощью написанной самостоятельно программы)...

Найти то минимальное колличество слагаемых(сомножителей), при котором значение следующих сумм(произведений) превысят некоторое заданное М
Найти то минимальное колличество слагаемых(сомножителей), при котором значение следующих сумм(произведений) превысят некоторое заданное М ...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru