Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Обоснование решения / 25 сообщений из 32, страница 1 из 2
24.02.2015, 07:10
    #38886736
SashaMercury
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обоснование решения
Здравствуйте.
Сегодня утром разминался, решал задачу .

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
#include <stdio.h>

__int64 max_product_by_sum(int x)
{
	if (x <=4){
		return x;
	}
	else{
		return max_product_by_sum(3)*max_product_by_sum(x - 3);
	}
}

int main()
{
	FILE* in = fopen("input.txt", "r");
	int x;
	fscanf(in, "%i", &x);
	fclose(in);
	FILE* out = fopen("output.txt", "w");
	printf("%I64d", max_product_by_sum(x));
	fprintf(out, "%I64d", max_product_by_sum(x));
	fclose(out);
	return 0;
}



Решение скорее интуитивное(это конечно не так, и некоторые рассуждения я проводил), и не имеет строгого обоснования. Подскажите, как бы обосновали это решение ?
...
Рейтинг: 0 / 0
24.02.2015, 09:09
    #38886784
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обоснование решения
Существует вполне себе доказанное утверждение, что при фиксированной сумме группы чисел она имеет максимальное произведение, если каждое число равно или максимально близко к е .
Для целых соответственно если каждое число равно 3. Если же остаток от деления суммы на 3 равен 1, то две двойки либо одна четвёрка, остальные тройки.
...
Рейтинг: 0 / 0
24.02.2015, 09:10
    #38886785
SashaMercury
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обоснование решения
Akina,
В какой книге его можно встретить ?
...
Рейтинг: 0 / 0
24.02.2015, 09:25
    #38886792
SashaMercury
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обоснование решения
В таком случае, рекурсия тут вовсе не нужна
...
Рейтинг: 0 / 0
24.02.2015, 09:26
    #38886794
SashaMercury
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обоснование решения
Хотя она и так не нужна была, но я не был уверен что мои рассуждения верны. Но всё-же хочется увидеть оригинал теоремы :)
...
Рейтинг: 0 / 0
24.02.2015, 09:36
    #38886797
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обоснование решения
Сумму надо раскладывать на слагаемые из троек и двоек, причем троек должно быть максимум. Тогда произведение слагаемых будет максимальным.
Единица не может быть слагаемым т.к. всегда X + 1 > X * 1.
2, 3 не раскладываются на слагаемые, т.к. одно из них будет 1
4 можно на 2+2 разложить, но итого не поменяется.
все что больше при разложении на 2 и 3 дает максимальную сумму.

Зачем рекурсия? Тут даже цикла не надо:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
if (x <=4) return x;
switch(x % 3) {
  case 0:
    return 3 ^ (x / 3);
  case 1:
    return (3 ^ ((x - 4) / 3)) * 4;
  case 2:
    return (3 ^ ((x - 2) / 3)) * 2;
}


^ это возведение в степень, не знаю как оно в Си правильно пишется.
...
Рейтинг: 0 / 0
24.02.2015, 10:07
    #38886811
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обоснование решения
Dima Tвсе что больше при разложении на 2 и 3 дает максимальную сумму.
Опечатался, не сумму а произведение.
тут остается доказать что для любых N и M больше 1 сумма всегда меньше произведения, т.е. N+M <= N*M
...
Рейтинг: 0 / 0
24.02.2015, 10:33
    #38886833
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обоснование решения
Dima Tостается доказать что для любых N и M больше 1 сумма всегда меньше произведения, т.е. N+M <= N*M
Неверно. N=M=2. Сумма РАВНА произведению.
...
Рейтинг: 0 / 0
24.02.2015, 10:39
    #38886839
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обоснование решения
SashaMercuryхочется увидеть оригинал теоремы
Докажите её самостоятельно, это не так уж и сложно.

Начните с доказательства, что для заданного количества частей произведение максимально, если части равны. Hint: докажите, что при замене в группе максимального и минимального чисел на два их среднеарифметических произведение увеличится.

Затем докажите, что максималое произведение достигается при значении элемента, равного e . Hint: напишите функцию от количества и найдите её максимум - возьмите её производную и приравняйте нулю.
...
Рейтинг: 0 / 0
24.02.2015, 11:39
    #38886944
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обоснование решения
AkinaDima Tостается доказать что для любых N и M больше 1 сумма всегда меньше произведения, т.е. N+M <= N*M
Неверно. N=M=2. Сумма РАВНА произведению.
я слово "равно" прописью недописал :)
...
Рейтинг: 0 / 0
24.02.2015, 13:13
    #38887112
SashaMercury
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обоснование решения
Akina,
не учите меня доказывать что-то по математике, пожалуйста. Меня на этом ресурсе учат только в нашем Сообществе совсем по другим вопросам. Дайте мне оригинал теоремы, раз вы привели её.
Если вы думаете что я эти тройки от фонаря получил, то вы ошибаетесь. И я это прокомментировал
SSРешение скорее интуитивное(это конечно не так, и некоторые рассуждения я проводил),
это для меня оно кажется интуитивным, а для кого-то эти записи покажутся строгим доказательством, но я не специалист в теории чисел, потому мне нужно строгое математическое обоснование, которое, как я и предположил (раз создал этот топик), существует, вот скажите в какой книге я могу его встретить, пожалуйста(думаю вам это известно)
...
Рейтинг: 0 / 0
24.02.2015, 13:53
    #38887174
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обоснование решения
Мне кажется эта задача приводится к вычислению размернойстей N-мерного параллелипипеда
при известном объёме.
...
Рейтинг: 0 / 0
24.02.2015, 13:55
    #38887178
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обоснование решения
Доказывать как-то так надо:
1. Слагаемое не может быть 1, т.к. это уменьшает произведение. Доказано: X + 1 > X * 1

2. При разделении на слагаемые (каждое > 1) произведение увеличивается (или не меняется для 4=2*2). Как следствие это определяет что надо раскладывать до неделимых слагаемых 2 и 3.
Это то что я выше писал N+M <= N*M. Если добавить условие N>=M, то тогда N+M <= N + N <= N*M следовательно 2 <= M что повторяет условие M > 1. Доказано.

3. Доказать что при равной сумме чем больше троек, тем больше произведение. Не соображу как в одну формулу это свести.
...
Рейтинг: 0 / 0
24.02.2015, 14:23
    #38887231
For All
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обоснование решения
SashaMercuryмне нужно строгое математическое обоснование, которое, как я и предположил (раз создал этот топик), существует, вот скажите в какой книге я могу его встретить, пожалуйста(думаю вам это известно)Слишком частный случай, специфичная книга должна быть.

P.S. По инструкциям от Akina доказать получается действительно просто.
...
Рейтинг: 0 / 0
24.02.2015, 16:11
    #38887435
Яростный Меч
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обоснование решения
обе части доказательства вполне известны: по возможности равное распределение голов - это "неравенство о средних" (его частный случай для ср. арифметического и ср. геометрического), а по поводу числа e - так в нем будет максимум функции x^(1/x), тоже известный факт.
...
Рейтинг: 0 / 0
24.02.2015, 19:53
    #38887666
Mozok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обоснование решения
SashaMercuryAkina,
не учите меня доказывать что-то по математике, пожалуйста. Меня на этом ресурсе учат только в нашем Сообществе совсем по другим вопросам. Дайте мне оригинал теоремы, раз вы привели её.
Если вы думаете что я эти тройки от фонаря получил, то вы ошибаетесь. И я это прокомментировал
SSРешение скорее интуитивное(это конечно не так, и некоторые рассуждения я проводил),
это для меня оно кажется интуитивным, а для кого-то эти записи покажутся строгим доказательством, но я не специалист в теории чисел, потому мне нужно строгое математическое обоснование, которое, как я и предположил (раз создал этот топик), существует, вот скажите в какой книге я могу его встретить, пожалуйста(думаю вам это известно)
Перельман, "Занимательная алгебра", глава VII - "Когда произведение наибольшее?"
...
Рейтинг: 0 / 0
25.02.2015, 02:02
    #38887900
SashaMercury
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обоснование решения
Перельман

авторПодобным же образом можно доказать эту теорему и для четырех множителей, для пяти и т. д.

Рассмотрим теперь более общий случай.

Ребята, это не доказательство. Если бы всё так просто можно было доказывать, то не появилась бы математическая индукция
...
Рейтинг: 0 / 0
25.02.2015, 12:41
    #38888285
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обоснование решения
SashaMercuryAkina,
не учите меня доказывать что-то по математике, пожалуйста. Меня на этом ресурсе учат только в нашем Сообществе совсем по другим вопросам. Дайте мне оригинал теоремы, раз вы привели её. Это ж когда я так задолжать-то успел? что-то не припоминаю... но уж коли просите - ладно, не буду учить, а то испорчу.
...
Рейтинг: 0 / 0
25.02.2015, 13:38
    #38888399
SashaMercury
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обоснование решения
AkinaSashaMercuryAkina,
не учите меня доказывать что-то по математике, пожалуйста. Меня на этом ресурсе учат только в нашем Сообществе совсем по другим вопросам. Дайте мне оригинал теоремы, раз вы привели её. Это ж когда я так задолжать-то успел? что-то не припоминаю... но уж коли просите - ладно, не буду учить, а то испорчу.

понимаете, такой комментарий
AkinaHint: напишите функцию от количества и найдите её максимум - возьмите её производную и приравняйте нулю.

могут дать либо пятикласснику, либо слабоумному. Не привык что таким образом комментируют математические выкладки и привыкать не буду. Потому попросил вас о том, чтобы вы не учили/показывали как доказывать что-то по математике. + к этому, аналогичные рассуждения(для целых), я проводил, но мне мои наброски также малоинтересны.

Akina, если вы на что-то обижаетесь, то не обижайтесь пожалуйста, я не хотел вас обидеть. Тем более вы помогли мне. За это спасибо.

Но не нужно говорить о том, как искать экстремумы, пожалуйста. Тут нет яслей и слабоумных.
...
Рейтинг: 0 / 0
25.02.2015, 14:19
    #38888485
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обоснование решения
С производными проблема? Хорошо. Зайдём с другой стороны. Учитывая, что речь идёт о ЦЕЛОЧИСЛЕННОЙ математике.

Выполним произвольное разбиение суммы на слагаемые.

Выполним следующие преобразования такого набора:
- Если в текущем разбиении имеется хотя бы одна единица - прибавим их все к любому элементу набора. Произведение при этом увеличится.
- Если в текущем разбиении имеется хотя бы одно число M > 4, заменим его на два числа - 3 и (М-3). Произведение при этом увеличится.
- Если в текущем разбиении имеются четвёрки, заменим каждое на две двойки. Произведение не изменится.
- Если в текущем разбиении количество двоек более двух, заменим каждую тройку двоек на две тройки. Произведение увеличится.

Итогом всех преобразований будет набор из троек и не более чем двух двоек. Его произведение максимально для всей совокупности наборов (исходный + промежуточные).

Допустим, имеется иной набор с той же суммой, но бОльшим произведением. Описанным выше алгоритмом он может быть трансформирован в набор с той же суммой, но ещё бОльшим произведением, в т.ч. более произведения ранее полученного набора. Тогда этот набор по составу элементов должен отличаться от ранее полученного "максимального набора". Но заданная сумма может быть толко одним способом представлена в виде набора слагаемых, где не более двух двоек, а все остальные числа - тройки. Имеем противоречие. Следовательно, предположение о существовании иного набора с той же суммой, но бОльшим произведением - ложно.
...
Рейтинг: 0 / 0
25.02.2015, 14:33
    #38888508
SashaMercury
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обоснование решения
AkinaС производными проблема? Хорошо. Зайдём с другой стороны. Учитывая, что речь идёт о ЦЕЛОЧИСЛЕННОЙ математике.

Выполним произвольное разбиение суммы на слагаемые.

Выполним следующие преобразования такого набора:
- Если в текущем разбиении имеется хотя бы одна единица - прибавим их все к любому элементу набора. Произведение при этом увеличится.
- Если в текущем разбиении имеется хотя бы одно число M > 4, заменим его на два числа - 3 и (М-3). Произведение при этом увеличится.
- Если в текущем разбиении имеются четвёрки, заменим каждое на две двойки. Произведение не изменится.
- Если в текущем разбиении количество двоек более двух, заменим каждую тройку двоек на две тройки. Произведение увеличится.

Итогом всех преобразований будет набор из троек и не более чем двух двоек. Его произведение максимально для всей совокупности наборов (исходный + промежуточные).

Допустим, имеется иной набор с той же суммой, но бОльшим произведением. Описанным выше алгоритмом он может быть трансформирован в набор с той же суммой, но ещё бОльшим произведением, в т.ч. более произведения ранее полученного набора. Тогда этот набор по составу элементов должен отличаться от ранее полученного "максимального набора". Но заданная сумма может быть толко одним способом представлена в виде набора слагаемых, где не более двух двоек, а все остальные числа - тройки. Имеем противоречие. Следовательно, предположение о существовании иного набора с той же суммой, но бОльшим произведением - ложно.

Верно.
...
Рейтинг: 0 / 0
25.02.2015, 14:38
    #38888519
SashaMercury
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обоснование решения
AkinaСуществует вполне себе доказанное утверждение, что при фиксированной сумме группы чисел она имеет максимальное произведение, если каждое число равно или максимально близко к е .
Для целых соответственно если каждое число равно 3. Если же остаток от деления суммы на 3 равен 1, то две двойки либо одна четвёрка, остальные тройки.

А в данном случае, из одного не следовало другое
...
Рейтинг: 0 / 0
25.02.2015, 15:27
    #38888582
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обоснование решения
SashaMercuryмогут дать либо пятикласснику, либо слабоумном у. Не привык что таким образом комментируют математические выкладки и привыкать не буду. Потому попросил вас о том, чтобы вы не учили/показывали как доказывать что-то по математике. + к этому, аналогичные рассуждения(для целых), я проводил, но мне мои наброски также малоинтересны.

Akina, если вы на что-то обижаетесь, то не обижайтесь пожалуйста, я не хотел вас обидеть. Тем более вы помогли мне. За это спасибо.

Но не нужно говорить о том, как искать экстремумы, пожалуйста. Тут нет яслей и слабоумных.
Эй бро. Ты чего такой злой? В этих нейтральных фразах я слышу "обертоны" Луговского-Ксеноцефала.
Я не знаю кто-ты по образованию, но бравировать своими знаниями математики право не стоит... В тебе
прорастает зерно высокомерия и превосходства. В этом форуме сидят программисты. И так было. Так есть
и так будет.
...
Рейтинг: 0 / 0
26.02.2015, 15:47
    #38889626
SashaMercury
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обоснование решения
maytonSashaMercuryмогут дать либо пятикласснику, либо слабоумном у. Не привык что таким образом комментируют математические выкладки и привыкать не буду. Потому попросил вас о том, чтобы вы не учили/показывали как доказывать что-то по математике. + к этому, аналогичные рассуждения(для целых), я проводил, но мне мои наброски также малоинтересны.

Akina, если вы на что-то обижаетесь, то не обижайтесь пожалуйста, я не хотел вас обидеть. Тем более вы помогли мне. За это спасибо.

Но не нужно говорить о том, как искать экстремумы, пожалуйста. Тут нет яслей и слабоумных.
Эй бро. Ты чего такой злой? В этих нейтральных фразах я слышу "обертоны" Луговского-Ксеноцефала.
Я не знаю кто-ты по образованию, но бравировать своими знаниями математики право не стоит... В тебе
прорастает зерно высокомерия и превосходства. В этом форуме сидят программисты. И так было. Так есть
и так будет.

Марк, ты чего. Я крайне добрый человек. Высокомерия и снобизм презираю, и они у меня, на мой взгляд, отсутствуют. Да что я рассказываю, мы не один день знаем друг друга.. Это вполне нормальная реакция на объяснение Акины.

Если бы вам объясняли алгоритм сортировки, например, и одним из его шагов было бы:
найдите максимальный элемент Hint: пройдите циклом по массиву, и поочередно сравнивайте текущий максимальный с текущим элементом, в зависимости от результат сравнения установите новое значение максимума Hint: для того чтобы это сделать используйте оператор присваивания.

Вам бы такое, мне кажется, не понравилось.

PS
тем не менее, я показал лишь спокойное недоумение данным объяснением Акины, как мне кажется, не стал высказывать в негативных тонах о чём-либо, несмотря на это Акина так подумал (как мне показалось), по этой причине, я всё ему подробно и спокойно объяснил, и даже принес своего рода извинения (хотя это не извинения, потому что мне не за что извиняться) попросив его не обижаться, выделив тот факт, что я не хотел его обидеть каким-либо образом. По факту, во втором сообщение к Акине, я подробно объяснил что моя, неоднозначно понятная реакция, относится лишь к тому как Акина объясняет, и ни в коем случае к личности. Критика конкретная очень полезна(и я благодарен всем кто меня критикует, например) Потому, мне кажется, он не будет держать на меня зло. Тем более после того, когда я ещё раз всё очень подробно объяснил (сейчас)
...
Рейтинг: 0 / 0
26.02.2015, 16:03
    #38889660
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обоснование решения
SashaMercury , у меня осталось совершенно иное впечатление. Впечатление, что я имею дело с человеком, который любым способом старается экономить своё мышление. Нередкое явление - начав получать ответы, человек полностью отключает мозг и перестаёт сам додумывать, анализировать, реализовывать, двигаться к решению. Ждёт, когда наконец ему дадут окончательное решение.

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

Вот такое, сударь, впечатление. У меня, во всяком случае. И судя по реакции mayton -а, я не одинок.

А то, что вымученное из меня доказательство верно - я и сам вижу.

PS. Если бы мне объясняли именно так алгоритм сортировки или любую другую вешь, понимание реализации которой у меня вызывает проблемы такие, что я пытался, но не смог выполнить требуемое самостоятельно, это было бы хорошо. В разы лучше, чем получить готовое решение без объяснений.
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Обоснование решения / 25 сообщений из 32, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]