Вверх ↑
Этот топик читают: Гость
Ответов: 2124
TRoN
Господин удача
#1: 2019-10-29 14:18:07 ЛС | профиль | цитата
Актуально
Если вкратце, нужна прога, которая из большого массива цифр, которые я напишу выловит 10 цифр, которые в сумме дают нужную мне цифру. За подробностями в лс.

Может кто переименовать в "Ищу прогрmмыстов"
карма: 2
06.07.2023
0
Ответов: 176
#2: 2019-10-29 14:34:49 ЛС | профиль | цитата
могу написать консольное/десктоп приложение под шиндоус
карма: -5
0
Ответов: 2124
TRoN
Господин удача
#3: 2019-10-29 14:52:19 ЛС | профиль | цитата
rarik24, чекни лс
карма: 2
06.07.2023
0
Ответов: 1631
Eternity
Slimes
#4: 2019-10-29 23:48:30 ЛС | профиль | цитата
удивительно, что подобную задачу нужно решать в ехеле...
так-то типичная задачка на алгоритмы, но среда...

зы. все видят тыковку или только я?
карма: 42
0
Ответов: 2124
TRoN
Господин удача
#5: 2019-10-29 23:58:12 ЛС | профиль | цитата
asdf, ну может не эксель, мне подойдет что угодно где это возможно, пока вроде 2 чела парятся, хз что выйдет
карма: 2
06.07.2023
0
Ответов: 2190
Noir Villar
Граф
#6: 2019-10-30 00:18:47 ЛС | профиль | цитата
Любой язык программирования берёшь и решаешь.
Если нужен именно эксель, можно на Visual Basic for Applications (aka VBA) написать простой алгоритм. По нажатию кнопки всё сделает, и можно цветом подсветить решение.
Но если любой язык подойдет, то лучше на Python каком-нибудь.

Нужно показывать именно индексы чисел, или только сами числа, которые в сумме дают заданное число?
карма: 61
0
Ответов: 2124
TRoN
Господин удача
#7: 2019-10-30 00:29:42 ЛС | профиль | цитата
GeeXT, сами числа, которые изначально загружал
карма: 2
06.07.2023
0
Ответов: 126
Mafia
Консильери
#8: 2019-10-30 06:01:56 ЛС | профиль | цитата
В коде заменить ‹ и › на нормальные символы и задать нужные параметры.

В браузере нажать F12, найти там вкладку Console, вставить код, выполнить.

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

// задаваемые параметры
var chisla = [1, 2, 3, 4, 5, 6]
var nado_naiti = 10
var nado_slozhit = 3
// далее магия
var poses = []
var test = 0
// это для наглядности
var poses_max_index = nado_slozhit - 1
var chisla_max_index = chisla.length - 1
// ставим начальные позиции
for(var i = 0; i ‹ nado_slozhit; i++){
poses[i] = i
}
// крутимся, пока левая позиция не упрётся в свой предел
while(poses[0] ‹= chisla.length - nado_slozhit){
// складываем выбранные позиции
test = 0
for(var i = 0; i ‹ nado_slozhit; i++){
test += chisla[poses[i]]
}
// проверяем набранное на соответствие условию
if(test == nado_naiti){
// при соответствии выводим
var text = chisla[poses[0]]
for(var i = 1; i ‹ nado_slozhit; i++){
text += ', ' + chisla[poses[i]]
}
console.log(text)
}
// увеличиваем правую позицию
poses[poses_max_index]++
// увеличиваем остальные позиции, в обратном порядке
for(var i = poses_max_index; i › 0; i--){
// если текущая превысила лимит по позиции
if(poses[i] › chisla_max_index - (poses_max_index - i)){
// увеличиваем предыдущую
poses[i - 1]++
continue
}
// иначе дальше влево идти не надобно
break
}
// сбрасываем превысившие позиции для новой итерации
for(var i = 1; i ‹ nado_slozhit; i++){
// если текущая превысила лимит по позиции
if(poses[i] › chisla_max_index - (poses_max_index - i)){
// переназначаем на основании предыдущей
poses[i] = poses[i - 1] + 1
}
}
}
карма: -4
0
Ответов: 2124
TRoN
Господин удача
#9: 2019-10-31 15:13:35 ЛС | профиль | цитата
rarik24 сделал прогу
Спасибо всем, кто отозвался)

Помогите с новой задачкой, кто шарит)

--- Добавлено в 2020-02-05 18:43:45

kriponeko, слишком сложно, не понял)
карма: 2
06.07.2023
0
Ответов: 108
TRoN
Clow
#10: 2020-02-05 18:44:20 ЛС | профиль | цитата
777 писал(а):
АП

карма: 2
0
10
Сообщение
...