Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Клуб программистов > Свободное общение
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.06.2015, 22:33   #1341
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Цитата:
а поконкретнее. что не так?
Решение неправильное. Что не понятно?
Цитата:
ну или что-то типа этого
1 2 100500
Спорим 49 составить нельзя и это меньше, чем 1+2+100500?
Poma][a вне форума Ответить с цитированием
Старый 15.06.2015, 23:08   #1342
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию

(1 + 2) + 1 < 1000500
=>
x = (1+2) + 1 = 4

как же это ты меня не понял? я же в #1340 так все понятно объяснил.
Sibedir вне форума Ответить с цитированием
Старый 15.06.2015, 23:13   #1343
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Пардон. Верно
Poma][a вне форума Ответить с цитированием
Старый 15.06.2015, 23:29   #1344
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Позвольте задачу задать.

Пусть у нас есть массив из 5 строк. Каждая строка представляет собой разделённые пробелами коэффициенты многочленов, а сам массив выглядит следующим образом:
s[1] = 1 2
s[2] = 3 2 1 4
a[3] = 2 3 1 0
s[4] = 7 6 5 4 4 1
s[5] = 256 1

Задача состоит в том, чтобы найти количество элементов массива, которые содержат коэффициенты многочлена, не имеющего ни одного действительного корня.

Важно: степени одночленов возрастают слева направо, например, если у нас есть строка "22 33 14", то это будет означать, что нам дан многочлен 22 + 33x + 14x^2
Вадим Мошев вне форума Ответить с цитированием
Старый 16.06.2015, 07:59   #1345
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
Sibedir
Похоже на правду. А как насчет доказательства #1340?

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

Последний раз редактировалось Аватар; 16.06.2015 в 08:26.
Аватар вне форума Ответить с цитированием
Старый 16.06.2015, 08:01   #1346
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Цитата:
А как насчет доказательства #1340?
Про это верно и написал
Сортируем массив, идем и суммируем его. Как только сумма на подотрезке (1..k) стала меньше, более чем на 1, чем (k+1)ый элемент, то ответом является эта сумма +1
Poma][a вне форума Ответить с цитированием
Старый 16.06.2015, 08:21   #1347
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
Poma][a
Я понял, но это утверждение. Вот и спрашиваю - а как насчет доказательства его истинности?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 16.06.2015, 08:37   #1348
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Цитата:
Вот и спрашиваю - а как насчет доказательства его истинности?
А какое доказательство Вы хотите?
Мы говорим, пусть мы рассмотрели все элементы массива от 1 до k. Добавим туда еще один элемент (k+1)'ый. И мы могли получить сумму чисел от 1 до sum(a[1..k]). Теперь смотрим на a[k+1]. Если он равен sum, то нас это не волнует. Если он больше на 1, то тоже все хорошо. А если он больше на 2 (и более), то это наш случай. Число sum(a[1..k])+1 мы получить не можем, ибо все числа натуральные, отсортированные по возрастанию. Значит, рассмотрев первые k чисел, мы не смогли получить sum(a[1..k])+1. Единственный вариант получить это число - прибавить некое число из a[1..k] к a[k+1], но числа-то натуральные. Значится прибавив, мы получим число, большее sum(a[1..k])+1
Poma][a вне форума Ответить с цитированием
Старый 16.06.2015, 08:52   #1349
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
Число sum(a[1..k])+1 мы получить не можем, ибо все числа натуральные, отсортированные по возрастанию.
Да, получили число, которое нельзя представить частичной суммой элементов нашего массива. Почему оно минимально? Или, что то же самое, где доказано, что sum(a[1..k])-1, например, можно представить частичной суммой?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 16.06.2015, 09:08   #1350
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Цитата:
Или, что то же самое, где доказано, что sum(a[1..k])-1, например, можно представить частичной суммой?
В самом рассуждении и доказано.
Начнем с того, что 1 должна быть в сумме обязательно. Если такой не имеется - ответ 1.
Значит мы исключаем из суммы 1-ку и радуемся
Poma][a вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
интересные проги kipish Софт 85 18.12.2022 01:03
Текст на картинках SunLight Microsoft Office Word 2 08.08.2007 12:59