Saai Aslessh Ответов: 3

Как я могу...это слишком сложно


Баран и шоколад

Рам-школьник. У него есть n хороших друзей, пронумерованных от 1 до n. Пусть это обозначается массивом A. Друг с более высоким индексом массива находится ближе к оперативной памяти. Сегодня у него день рождения, и поэтому он хочет распределить свои шоколадные конфеты таким образом, чтобы A[i+1]=A[i]+3. Теперь у него было n коробок, пронумерованных от 1 до n для каждого его друга, и его мать наполнила их каким-то случайным количеством конфет, однако Рам решил распределить конфеты описанным выше способом. Он хочет знать, можно ли переставить конфеты в коробках так, чтобы они распределялись по его вкусу.

Что я уже пробовал:

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

Richard Deeming

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

Если вы не знаете, как ответить на этот вопрос, поговорите со своим учителем.

3 Ответов

Рейтинг:
2

Andy Lanng

Ну подумай об этом.

Количество конфет в коробках устанавливается случайным образом

РАМС хочет определенного распределения

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

Сейчас:

Как вы проверяете, что все коробки могут выровняться по f (n-1) = f(n)+3 ?

Можете ли вы привести пару примеров массива чисел, которые следуют за распределением?

Что вы замечаете в этом массиве чисел по порядку?

Можно ли сравнить любые два числа и решить, соответствуют они распределению или нет?

Разберитесь в этих вопросах. Узнать ответы. Вы увидите, к чему ведет этот вопрос.

Как уже упоминал Ричард, этот форум не подходит для подобных вопросов. Ваш учитель захочет, чтобы вы узнали что-то конкретное из этого вопроса. Они смогут направить вас более непосредственно к этой конкретной вещи, чем мы когда-либо могли.


Рейтинг:
2

CPallini

A[1] = a
A[2] = A[1] + 3 = a + 3
A[3] = A[2] + 3 = a + 6
..
A[n] = A[n-1] + 3 = a + (n-1) * 3

Сумма такова
S = n * a + 3 + 6 + .. + (n-1) * 3 
S = n * a + 3 * [1 + 2 + .. + (n-1)] 
S = n * a + 3 * n * (n-1) / 2

следовательно
a = [S - 3 * n * (n-1) / 2] / n


Вычислять a, если это целое число, то распределение осуществимо.


Рейтинг:
0

Patrice T

Цитата:
ну вопрос был слишком сложным, чтобы ответить

Первый шаг-решить вручную с помощью листа бумаги и карандаша. Вот как вы строите алгоритм / процедуру, которые решают проблему.
Неудача на первом испытании-это нормально. Вы изучаете и находите алгоритм методом "проб и ошибок". "Метод проб и ошибок" - это эффективный способ обучения.
Обратите внимание, что частичный ответ-это признак того, что вы близки к ответу.
Как только у вас есть метод решения проблемы, вы должны перевести код, это ваш алгоритм.

Мы не делаем вашу домашнюю работу.
Домашнее задание предназначено не для того, чтобы проверить ваши навыки просить других людей выполнять вашу работу, а для того, чтобы заставить вас думать и помочь вашему учителю проверить ваше понимание пройденных вами курсов, а также проблем, возникающих при их применении.
Любая ваша неудача поможет учителю выявить ваши слабости и наметить меры по их исправлению.
Любая ваша неудача поможет вам узнать, что работает, а что нет, это называется "методом проб и ошибок".
Так что попробуйте, перечитайте свои уроки и начинайте работать. Если вы застряли на конкретной проблеме, покажите свой код и объясните эту точную проблему, мы можем помочь.

Как программист, ваша задача-создавать алгоритмы это решает конкретные проблемы, и вы не можете полагаться на кого-то другого, чтобы вечно делать это за вас, поэтому есть время, когда вам придется научиться этому. И чем скорее, тем лучше.
Когда вы просто просите решение, это все равно что пытаться научиться водить машину, обучая кого-то другого.
Создание алгоритма-это в основном поиск математики и необходимая адаптация к вашей реальной задаче.

Идея "развития" заключается в том, что это слово предполагает: "систематическое использование научно-технических знаний для достижения конкретных целей или требований." BusinessDictionary.com[^]
Это не то же самое, что "быстро гуглите и сдавайтесь, если я не могу найти точно правильный код".