Дискуссионный математический форумМатематический форум
Математический форум Math Help Planet

Обсуждение и решение задач по математике, физике, химии, экономике

Теоретический раздел
Часовой пояс: UTC + 3 часа [ Летнее время ]
новый онлайн-сервис
число, сумма и дата прописью

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 40 ]  На страницу Пред.  1, 2, 3, 4  След.
Автор Сообщение
 Заголовок сообщения: Re: Восстановить числа по их попарным суммам
СообщениеДобавлено: 24 мар 2019, 14:43 
Не в сети
Гений
Зарегистрирован:
02 июн 2018, 08:50
Сообщений: 659
Cпасибо сказано: 21
Спасибо получено:
105 раз в 103 сообщениях
Очков репутации: 16

Добавить очки репутацииУменьшить очки репутации
Li6-D писал(а):
Проще оказалось написать программку, чем описать методику расчета.
Кому интересно могу объяснить нюансы.

Хотел то же написать, но не понял алгоритм по коду. Написал "генератор" парных сумм. Можно проверить, числа целые, хотя можно с дробными сделать.
Для публикации здесь цифры исходного массива затер, обозначил как x1...x8

▼ код
program summa_chisel
implicit none
integer :: m1(8), m2(28), i, j, k, n
logical :: l

data m1/x1, x2, x3, x4, x5, x6, x7, x8/

k=1; n=2

do i=1, 7
do j = n, 8
m2(k) = m1(i) + m1(j)
k=k+1
end do
n=n+1
end do

l=.true. !Переключатель направления сортировки
call sort (m2, k-1, l)
print 100, m2

100 format (5i5)
end program


Код:
Пример 1

   40   50   50   70   70
   80   80   80   90   90
   90  100  100  100  110
  110  110  110  120  120
  130  130  140  140  150
  150  160  170


Пример 2

   46   53   53   73   73
   80   83   83   90   98
   98  103  103  105  110
  110  113  113  120  125
  130  135  140  140  150
  155  165  170

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Восстановить числа по их попарным суммам
СообщениеДобавлено: 24 мар 2019, 19:59 
Не в сети
Beautiful Mind
Аватара пользователя
Зарегистрирован:
10 дек 2014, 20:21
Сообщений: 1204
Cпасибо сказано: 288
Спасибо получено:
679 раз в 545 сообщениях
Очков репутации: 148

Добавить очки репутацииУменьшить очки репутации
В примере 1 исходные числа алгоритм определил как: 20, 20, 30, 50, 60, 70, 80, 90.
В примере 2: 23, 23, 30, 50, 60, 75, 80, 90.
Изображение.

Если коротко, то алгоритм дешифровки работает так:
Сначала попарные суммы сортируются по возрастанию.
Первые два числа - это сумма самого меньшего числа x1 с вторым x2 и третьим по величине x3.
Чтобы определить три наименьших числа, нам надо еще знать число x2+x3.
Сложность в том, что это число необязательно находится на третьем месте среди попарных сумм.
Оно может находиться и правее.
Поясню на Примере 1 выше. Допустим первое исходное число x1 не 20, а -200.
Тогда сумма x2+x3=50, окажется лишь на восьмом месте. пропустив вперед себя все суммы с x1: x1+x2;x1+x3,...x1+x8:
(-180,-170,-150,-140,-130,-120,-110,50,70,80,80,90,90,100,100,110,110,110,120,120,130,130,140,140,150,150,160,170).
Гарантируется лишь то, что сумма b+c находится с 3-го по 8-ое место включительно.
Поэтому алгоритм делает шесть попыток - последовательно проверят суммы на этих местах,
каждый раз вычисляя тройку x1,x2,x3 исходя из известных сумм x1+x2, x1+x3 и кандидатом на сумму x2+x3.
Затем алгоритм пытается дешифровать остальные числа, что достаточно легко (это можно сделать даже c одним известным x1).
Возможно два варианта развития событий:
- найдутся все исходные числа и алгоритм вернет их в результате расчета закончив работу.
- среди попарных сумм окажется такое число, которое не является суммой пары известных чисел.
Последнее событие еще не фиаско, алгоритм приступает к исследованию со следующим кандидатом на сумму x2+x3.
Фиаско наступит в случае, когда по результатам всех 6-ти попыток не удастся дешифровать исходные числа.
Тогда и появится сообщение "Ошибка: числа в матрице не являются попарными суммами нескольких чисел".

P.S. Заданная матрица-строка с попарными суммами не обязательно должна содержать строго 28 чисел.
В ней может содержаться 3,6,10,15,21,28,36... чисел.
Количество чисел - треугольное число вида [math]\frac{n(n-1)}{2}[/math], [math]n=3,4,5...[/math]

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Восстановить числа по их попарным суммам
СообщениеДобавлено: 25 мар 2019, 11:19 
Не в сети
Одарённый
Зарегистрирован:
21 июл 2016, 07:08
Сообщений: 142
Cпасибо сказано: 9
Спасибо получено:
19 раз в 16 сообщениях
Очков репутации: 3

Добавить очки репутацииУменьшить очки репутации
Li-6D,
Эта задача дана, как задача для школьников. Поэтому я считаю- важно найти простой логический способ решения. Если я вас правильно поняла, вы считаете, что предложенный мной вариант не подходит для решения этой задачи. Я попробовала несколько вариантов условия задачи. И всегда получала задуманные числа. Я предлагаю вам задать мне 28 попарных сумм, таких , по которым вы считаете нельзя восстановить задуманные числа. При условии, что задуманные числа - целые, положительные.

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Восстановить числа по их попарным суммам
СообщениеДобавлено: 25 мар 2019, 18:53 
Не в сети
Beautiful Mind
Аватара пользователя
Зарегистрирован:
10 дек 2014, 20:21
Сообщений: 1204
Cпасибо сказано: 288
Спасибо получено:
679 раз в 545 сообщениях
Очков репутации: 148

Добавить очки репутацииУменьшить очки репутации
Galina Alexandrovna писал(а):
Эта задача дана, как задача для школьников. Поэтому я считаю- важно найти простой логический способ решения.

Согласен с Вами. Но пока не понимаю этого простого способа.
Galina Alexandrovna писал(а):
Если я вас правильно поняла, вы считаете, что предложенный мной вариант не подходит для решения этой задачи.

Подходит, но не всегда. Надо исследовать не только четверку самых маленьких и больших сумм, но и смотреть дальше.
Galina Alexandrovna писал(а):
Я предлагаю вам задать мне 28 попарных сумм, таких , по которым вы считаете нельзя восстановить задуманные числа. При условии, что задуманные числа - целые, положительные

Зашифровал восемь исторических дат нашей эры:
895, 896, 928, 929, 940, 944, 1725,
1757, 1758, 1758, 1759, 1769, 1770, 1773,
1774, 1791, 1802, 1803, 1806, 1807, 1818,
2047, 2876, 2877, 2909, 2910, 2921, 2925.
▼ Хотя в задаче говорится вообще о действительных числах
То есть первый имел право составить для второго такие карточки:
-0.2477470292, -0.1817427313, 0.07752071017, 0.169771693, 0.8017631803, 1.002407518, 1.061026622,
1.12703092, 1.153277605, 1.219281903, 1.478545344, 1.891001804, 1.98591343, 2.051917728,
2.311181169, 2.403432152, 2.874507716, 2.940512014, 3.199775455, 3.292026438, 4.124662263,
6.476530392, 7.460036304, 7.526040602, 7.785304043, 7.877555026, 8.710190851, 9.598785137
Вопрос - всегда ли можно расшифровать задуманное?

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Восстановить числа по их попарным суммам
СообщениеДобавлено: 25 мар 2019, 19:36 
Не в сети
Гений
Зарегистрирован:
02 июн 2018, 08:50
Сообщений: 659
Cпасибо сказано: 21
Спасибо получено:
105 раз в 103 сообщениях
Очков репутации: 16

Добавить очки репутацииУменьшить очки репутации
Да, числа были забиты эти, хотя в другом порядке следования.

Код:
data m1/80, 90, 50, 70, 20, 30, 20, 60/   !Пример 1
data m1/80, 90, 50, 75, 23, 30, 23, 60/   !Пример 2

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

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Восстановить числа по их попарным суммам
СообщениеДобавлено: 25 мар 2019, 19:56 
Не в сети
Beautiful Mind
Аватара пользователя
Зарегистрирован:
10 дек 2014, 20:21
Сообщений: 1204
Cпасибо сказано: 288
Спасибо получено:
679 раз в 545 сообщениях
Очков репутации: 148

Добавить очки репутацииУменьшить очки репутации
Emphatic18 писал(а):
Интересно, можно ведь попробовать найти такие одни и те же парные суммы, которые получаются из разного набора чисел.

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

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Восстановить числа по их попарным суммам
СообщениеДобавлено: 26 мар 2019, 19:28 
Не в сети
Одарённый
Зарегистрирован:
21 июл 2016, 07:08
Сообщений: 142
Cпасибо сказано: 9
Спасибо получено:
19 раз в 16 сообщениях
Очков репутации: 3

Добавить очки репутацииУменьшить очки репутации
Рассмотрим ход решения.
Х1+Х2=895
Х1+Х3=896
Х2+Х3=929
928 не подходит как четное число
Решаем. Х1=431, Х2=464, Х3=465
Предположим Х4=928-431
Проверяем.
Х1+Х4=431+497=928
Х2+Х4=464+497=961-нет такой суммы.
Предположим Х4=940-431=509
Проверяем.
Х1+Х4=431+509=940
Х2+Х4=464+509=973-нет такой суммы.
Предположим Х4=944-431=513
Х1+Х4=431+513=944
Х2+Х4=464+513=977-нет такой суммы.
Дальше можно не искать. Дальше слишком большие суммы. Нет решения.
Вообще я имела ввиду сложный, но решаемый вариант.

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Восстановить числа по их попарным суммам
СообщениеДобавлено: 26 мар 2019, 19:43 
Не в сети
Beautiful Mind
Аватара пользователя
Зарегистрирован:
10 дек 2014, 20:21
Сообщений: 1204
Cпасибо сказано: 288
Спасибо получено:
679 раз в 545 сообщениях
Очков репутации: 148

Добавить очки репутацииУменьшить очки репутации
Были зашифрованы числа: 33, 862, 863, 895, 896, 907, 911, 2014.

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Восстановить числа по их попарным суммам
СообщениеДобавлено: 27 мар 2019, 15:50 
Не в сети
Одарённый
Зарегистрирован:
21 июл 2016, 07:08
Сообщений: 142
Cпасибо сказано: 9
Спасибо получено:
19 раз в 16 сообщениях
Очков репутации: 3

Добавить очки репутацииУменьшить очки репутации
Я отрабатывала расчеты на двузначных числах. Поэтому методика расчета получилась очень простая и хорошо согласовывалась с заданными числами. Появление одного маленького числа изменило картину. Но, я думаю, можно разработать более сложную и более правильную методику расчета задуманных чисел.

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Восстановить числа по их попарным суммам
СообщениеДобавлено: 27 мар 2019, 17:23 
Не в сети
Гений
Зарегистрирован:
02 июн 2018, 08:50
Сообщений: 659
Cпасибо сказано: 21
Спасибо получено:
105 раз в 103 сообщениях
Очков репутации: 16

Добавить очки репутацииУменьшить очки репутации
Li6-D писал(а):
Были зашифрованы числа: 33, 862, 863, 895, 896, 907, 911, 2014.

В данном случае система управнений

х1+х2=N1
x1+x3=N2
x2+x3=N(3...8)

имеет не одно решение, отсюда не получается и результат.
правильное, исходя из зашифрованных чисел, такое
Код:
33 + 862 = N1 = 895  это верно
33 + 863 = N2 = 896  это верно
862 + 863 = N7 = 1725 - это верно

Но может быть по другому
Код:
431,5 + 463,5 = 895
431,5 + 464,5 = 896
463,5 + 464,5 = 928 = N3

Может быть еще по другому
Код:
425,5 + 469,5 = 895
425,5 + 470,5 = 896
469,5 + 470,5 = 940 = N5

Может быть так
Код:
17 + 878  = 895
17 + 879  = 896
878 + 879 = 1757 = N7

Или так
Код:
16,5 + 878,5 = 895
16,5 + 879,5 = 896
878,5 + 879,5 = 1758 = N9


Li6-D, а ваша программа правильно считает?

Вернуться к началу
 Профиль  
Cпасибо сказано 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему    На страницу Пред.  1, 2, 3, 4  След.  Страница 2 из 4 [ Сообщений: 40 ]

 Похожие темы   Автор   Ответы   Просмотры   Последнее сообщение 
Восстановить треугольник

в форуме Геометрия

demon_666

1

200

16 окт 2022, 17:32

Как восстановить решение?

в форуме Алгебра

alekscooper

6

203

16 окт 2019, 18:08

Восстановить группу Ли по алгебре Ли

в форуме Линейная и Абстрактная алгебра

nosurnamename

4

160

24 окт 2023, 13:42

Восстановить регулярную функцию

в форуме Комплексный анализ и Операционное исчисление

Marry

1

478

04 июн 2018, 11:34

Восстановить аналитическую функцию

в форуме Комплексный анализ и Операционное исчисление

honey

0

191

06 дек 2020, 22:30

Восстановить аналитическую функцию

в форуме Комплексный анализ и Операционное исчисление

karinakarina

1

476

13 мар 2017, 22:16

Восстановить аналитическую функцию

в форуме Комплексный анализ и Операционное исчисление

Veltare

3

474

30 ноя 2017, 12:38

Восстановить аналитическую функцию f(z)

в форуме Комплексный анализ и Операционное исчисление

sfanter

1

624

29 май 2016, 12:29

Восстановить аналитическую функцию

в форуме Комплексный анализ и Операционное исчисление

grimlok2013

5

570

20 дек 2015, 11:01

Восстановить оригинал по изображению F p

в форуме Комплексный анализ и Операционное исчисление

SPAC_E

0

109

22 окт 2019, 15:38


Часовой пояс: UTC + 3 часа [ Летнее время ]



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Яндекс.Метрика

Copyright © 2010-2023 MathHelpPlanet.com. All rights reserved