Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
2 / 2 / 2
Регистрация: 02.03.2016
Сообщений: 75

Программа для нахождения суммы

09.07.2016, 00:48. Показов 1325. Ответов 5

Студворк — интернет-сервис помощи студентам
Здравствуйте! Всю ночь думаю, но никак не нашел решения. Надо написать программу, которая будет вначале спрашивать, сколько всего слагаемых будет использовано. Затем по одному будет записывать значение каждой переменной в массив с помощью prompt(). Когда запишутся все слагаемые, необходимо узнать сумму($s), которая должна получиться этими тремя слагаемыми.
Суть в том, что она должна сравнить суммы всех слагаемых друг с другом с нужной суммой ($s).
Какие слагаемые подойдут, нужно показать пользователю.

Подскажите, пожалуйста, каким путем можно сделать саму запись в массив? Пока не очень изучил массивы.
И еще не плохо было бы выслушать идеи по поводу счета)

Мой набросок:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
'use strict';
var i = +prompt("Введите общее количество слагаемых");
var ch = [];
 
function resh() {
    var k = i;
    return k;
}
for (ch[i]; ch[i] < resh() + 1; ch[i + 1]) {
    ch[i] = +prompt("Введите слагаемое");
    if(ch[i] < 9999999999999) {
} else {
    alert("Вы ввели НЕ число. Убедитесь, что не отправили пустую строку или не нажали на буквы. Строка должна содержать только числа.");
    var ch[i] = prompt('Введите первое число из возьми, по которым я буду решать задачу.');
}
}
var $o = +prompt('Введите ответ - чему равна сумма трех выборочных чисел и я найду числа, какие подставить, чтобы получить этот ответ.');
if($o < 9999999999999) {
} else {
    alert("Вы ввели НЕ число. Убедитесь, что не отправили пустую строку или не нажали на буквы. Строка должна содержать только числа.");
    $o = prompt('Введите первое число из возьми, по которым я буду решать задачу.');
};
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.07.2016, 00:48
Ответы с готовыми решениями:

Программа для нахождения суммы
Найти сумму \sum_{x=1}^{50}\frac{1}{x^^5}

Программа для нахождения суммы ряда
найти сумму ряда: s=1/x-1/(3x^3 )+1/(5x^5 )-… при x=1,5 с заданной точностью 0,01

Программа для нахождения суммы ряда
Нужна помощь. S=1^0+2^2+3^4+4^6...+n^2n-2

5
Ренегат
Эксперт HTML/CSS
 Аватар для BANO
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
09.07.2016, 01:20
arr.push(Elem) Elem - элемент, который надо добавить, arr - массив, в который добавляем

Добавлено через 41 секунду
а по поводу счёта...
я не понял, вам тупо нужно сумму всех элементов массива?
1
2 / 2 / 2
Регистрация: 02.03.2016
Сообщений: 75
17.07.2016, 07:02  [ТС]
Нет. Мне нужно найти слагаемые, которые подходят под эту сумму. Например, даны 5, 12, 40, 35, 60, 11. Сумма = 111. Следовательно, программа должна вычислить, что мне подходят слагаемые 60, 40 и 11.
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
18.07.2016, 11:59
положим, сумма s = 100
количество ненулевых слагаемых n = 3

первое слагаемое а1 определится как случайное число в диапазоне от 1 до s - n
второе слагаемое а2 определится как случайное число в диапазоне от 1 до s - a1 - n - 1
третье слагаемое а3 будет равно точно s - a1 - a2

т.е. для решения вашей задачи массив как бы вообще не нужен
0
 Аватар для ostgals
886 / 681 / 101
Регистрация: 23.01.2009
Сообщений: 1,582
18.07.2016, 15:06
Цитата Сообщение от OneDev Посмотреть сообщение
Мне нужно найти слагаемые, которые подходят под эту сумму. Например, даны 5, 12, 40, 35, 60, 11. Сумма = 111. Следовательно, программа должна вычислить, что мне подходят слагаемые 60, 40 и 11.
Задача решается рекурсивно. Например:

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
function addends(sum, nums, i) {
    i = i || 0;
    while (i < nums.length) {
        var num = nums[i];
        if (sum == num) return [ num ];
        if (sum > num && nums.length) {
            var res = addends(sum - num, nums, i + 1);
            if (res) return [ num ].concat(res);
        }
        i++;
    }
    return false;
}
Для вашего набора данных:

JavaScript
1
addends(111, [5, 12, 40, 35, 60, 11]); // ответ: [5, 35, 60, 11]
Как видно, решение не одно, алгоритм нашел самое первое.
0
2 / 2 / 2
Регистрация: 02.03.2016
Сообщений: 75
22.07.2016, 14:21  [ТС]
Простите, не совсем понял, как это работает) Дописал, но не запускается. Правильно ли я сделал ввод суммы и слагаемых? Вот концовка (вывод подобранных нужных слагаемых) мне кажется, точно неправильный..

Вот что получилось:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
var sum = +prompt("Введите искомую сумму");
var nums[];
while (nums[k] == true) {
    var nums[k] = +prompt('Вводите слагаемые. Нажмите "Отмена", чтобы закончить ввод чисел');
    k++;
}
 
function addends(sum, nums, i) {
    i = i || 0;
    while (i < nums.length) {
        var num = nums[i];
        if (sum == num) return [ num ];
        if (sum > num && nums.length) {
            var res = addends(sum - num, nums, i + 1);
            if (res) return [ num ].concat(res);
        }
        i++;
    }
    return false;
}
 
alert(addends());
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.07.2016, 14:21
Помогаю со студенческими работами здесь

Программа для нахождения произведение суммы ряда
Помогите написать программу для такого выражения G=\prod_{x=1}^{17}\sum_{d=1}^{20}{(d/(2*d+1))}^{d}

Программа для нахождения суммы и произведения для наибольшего и наименьшего элемента матрицы
в заданной матрице (m x n) найти сумму и произведение наибольшего и наименьшего (по абсолютной величине) элементов. написать программу

Программа для нахождения суммы / произведения заданного ряда.
1. Дано действительное а и натуральное n. Вычислить: y = a (a-n) (a-2n) (a-3n) ... (a-n2) 2. Дано действительное х и натуральное n....

Программа для нахождения суммы элементов случайной матрицы a x b
Здравствуйте. Помогите пожалуйста найти ошибку.

Программа для нахождения суммы квадратов всех нечетных чисел
Знаю,что неправильно считает,3 раза подряд выдало 165,хотя вручную совсем другое число выходило. #include &quot;stdafx.h&quot; ...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru