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

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

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

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




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

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

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


Имеете в виду в принципе нельзя или для набора из 8-ми цифр? Вот пример (подсмотрел на dxdy где то же поднимался подобный ворос) из 4-х цифр. Если существует такой набор цифр для массива из 4-х чисел, то может быть он существует и для массива из 8-ми чисел?

Код:
2, 6, 8, 10
и
3, 5, 7, 11

Вернуться к началу
 Профиль  
Cпасибо сказано 
За это сообщение пользователю Emphatic18 "Спасибо" сказали:
Li6-D
 Заголовок сообщения: Re: Восстановить числа по их попарным суммам
СообщениеДобавлено: 28 мар 2019, 10:52 
Не в сети
Одарённый
Зарегистрирован:
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. Это первый вариант.
Следующий вариант.
Х1+Х2=895
Х1+Х3=896
Х2+Х3=1725
Х1=33, Х2=862, Х3=863. Это второй вариант.
Следующий вариант.
Х1+Х2=895
Х1+Х3=896
Х2+Х3=1757
Х1=17, Х2=878, Х3=879. Это третий вариант.
Ищем последние три числа. Проверяем только четные суммы, чтобы получилось целое число.
Х8+Х7=2925
Х8+Х6=2921
Х7+Х6=2910
Х8=1468, Х7=1457, Х6=1453 Это первый вариант.
Х8+Х7=2925
Х8+Х6=2921
Х7+Х6=2876
Х8=1485, Х7=1440, Х6= 1436 Это второй вариант.
Х8+Х7=2925
Х8+Х6=2921
Х7+Х6=1818
Х8=2014, Х7=911, Х6=907 Это третий вариант.
Теперь совмещаем варианты.
Первый-первый. Х1+Х8=431+2014=2445. Нет такой суммы.
Первый- второй. Х1+Х8=431+1485=1916. Нет такой суммы.
Первый-третий. Х1+Х8=431+2014=2445. Нет такой суммы.
Второй-первый. Х1+Х8=33+1468=1501. Нет такой суммы.
Второй- второй. Х1+Х8=33+1485=1518. Нет такой суммы.
Второй-третий. Х1+Х8=33+2014= 2047. Есть такая сумма. Х1+Х7=33+911=944. Есть такая сумма.
Х1+Х6=33+907=940. Есть такая сумма.
Мы нашли решение. Х1=33, Х2=862, Х3=863, Х6=907, Х7=911, Х8=2014.
Ищем Х4 иХ5.
928-33=895, 895+862=1757, 895+2014=2909. Значит Х4=895.
2910-2014 =896, 896+33= 929, 896+862=1758 Значит Х5=896.
Какие замечания по данной методике?

Вернуться к началу
 Профиль  
Cпасибо сказано 
За это сообщение пользователю Galina Alexandrovna "Спасибо" сказали:
Li6-D
 Заголовок сообщения: Re: Восстановить числа по их попарным суммам
СообщениеДобавлено: 28 мар 2019, 13:04 
Не в сети
Гений
Зарегистрирован:
02 фев 2017, 00:21
Сообщений: 615
Cпасибо сказано: 7
Спасибо получено:
184 раз в 163 сообщениях
Очков репутации: 21

Добавить очки репутацииУменьшить очки репутации
irafat писал(а):
Двое играют в такую игру. Первый загадывает 8 действительных чисел (не обязательно различных) и пишет на листочке все их попарные суммы в произвольном порядке (некоторые из них могут совпадать). Второй по полученным 28 суммам должен определить исходные числа. Всегда ли он может гарантированно это сделать?

Ответ: нет. Ряды [math]2,6,8,10,13,15,17,21[/math] и [math]3,5,7,11,12,16,18,20[/math] дают идентичные 28 сумм.

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

Добавить очки репутацииУменьшить очки репутации
Это задача действительно для школьников, но с международной олимпиады (задача 5 на листе 5):
https://www.formulo.org/wp-content/uploads/2019/03/fdi_tm_2018_19_round2_sol.pdf
Все просто, если восьмиклассник "придумает" два набора, дающих одни и те же парные суммы :wink:
Цитирую решение по ссылке:
"Нет. Например, нельзя различить следующие два набора чисел:
1, 5, 7, 9, 12, 14, 16, 20 и 2, 4, 6, 10, 11, 15, 17, 19.
Или такие: -1, -1, -1, 1, 0, 2, 2, 2 и -2, 0, 0, 0, 3, 1, 1, 1.
"
То есть мое утверждение постом ранее "Не получится..." было ошибочным.
Интересно, есть ли тут система по составлению таких наборов и можно ли ее распространить не на 8, а на другое количество исходных чисел, например на 5?
Но программа действительно дешифрует и можно ее допилить (она будет даже проще), чтобы выводился не первый попавшийся, а все возможные наборы исходных чисел.
И второй школьник сообщает первому несколько наборов...

Насчет улучшенной методики - pourquoi pas? :Rose:

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

Добавить очки репутацииУменьшить очки репутации
Здесь можно уже тему переименовать - "как найти исходные числа из набора парных сумм".

Предлагаю такой алгоритм. Хотя принцип тот же. Но это для машинной реализации. Зато нет ограничения на целые числа и должен, на первый взгляд, гарантировангно получаться правильный результат.

X1+x2 = n1
X1+x3 = n2
X2+x3 = n3…n28

Решаем эту СЛАУ начиная с N3, до тех пор пока не совпадет x1+x2=n1 и x1+x3=n2. Находим n3.
Метим примененное N и больше его не используем.

Далее так же решаем СЛАУ из 4-х уравнений

X1+x2 = n1
X1+x3 = n2
X2+x3 = n3
X1+x4 = n& ; x1+x5 = n&; x1+x6 = n&; x1+x7=n&

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

последнее Х8 находим как
X8 = sum(n1…n28)/7 – sum(x1…x7)

Делаем контроль на совпадение парных чисел найденных X исходному набору парных сумм. Если совпадения нет, то начинаем проход с начала, выбирая при решении первой системы следющее N.

Видите какие-то дыры в алгоритме или путь его упрощения?

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

Добавить очки репутацииУменьшить очки репутации
Система по составлению наборов.
Рассмотрев три набора из 8 чисел я сделала выводы:
1.Сумма чисел по рядам в каждом наборе одинакова.
2.Сумма первого и второго числа первого набора равна сумме первого и второго числа второго набора. То же самое для третьего и четвертого, пятого и шестого, седьмого и восьмого чисел первого и второго набора.
3.Расстояния между последующими числами вторым и первым, третьим и вторым, четвертым и третьим симметричны относительно расстояния между пятым и четвертым числам, расстояниям между шестым и пятым, седьмым и шестым, восьмым и седьмым.
4.В первом ряду первые четыре числа четные, вторые четыре числа нечетные, Во втором наоборот.
5. Суммы симметричных чисел одинаковы.
Этих данных достаточно для построения набора из двух рядов.
Например: берем числа 4, 8, 10, 12. Расстояния 4, 2, 2. Выберем пятое число 15. Тогда шестое число=15+2=17. Тогда седьмое число = 17+2=19, восьмое число=19+4=23.
Набор: 4, 8, 10, 12, !5, 17, 19, 23.
Второй набор: 4+8=12, 5+7=12, 10+12=22, 9+13=22
Первые четыре числа второго набора 5, 7, 9, 13. Пятое число= 27-13=14. Шестое число 27-9=18. Седьмое число 27-7=20. Восьмое число 27-5=22.
Набор 5, 7, 9, 13, 14, 18, 20, 22.
Я думаю количество наборов бесконечно.
Попарные суммы 12, 14, 16, !8, 19, 20, 21, 22, 23, 23, 25,25, 27, 27, 27,27, 29, 29, 31, 31, 32, 33,34, 35, 36, 38, 40, 42.

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

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

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

Добавить очки репутацииУменьшить очки репутации
Galina Alexandrovna писал(а):
Я думаю, если попарные суммы отрицательные или дробные эта методика тоже подходит.

А если цифр нечетное количество?

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

Добавить очки репутацииУменьшить очки репутации
Если чисел пять или другое нечетное количество маловероятно составить набор. Конечно, это мое личное мнение. Несложно найти наборы из четырех чисел. Их можно составить из частей наборов из восьми чисел. Например
4, 8, 10, 12 и 5, 7, 9, 13. 15, 17, 19, 23 и 14, 18, 20, 22. 1, 5, 7, 9 и 2, 4, 6, 10. Скорее всего можно составить набор из двенадцати или шестнадцати чисел. Я думаю правильность предполагаемых наборов надо считать по программе на компьютере. Ну сначала эту программу надо создать.

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

Добавить очки репутацииУменьшить очки репутации
Galina Alexandrovna писал(а):
Я думаю правильность предполагаемых наборов надо считать по программе на компьютере. Ну сначала эту программу надо создать.

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

▼ код
program summa_chisel
implicit none
integer :: m1(8,2) !Размер массива исходных чисел
integer :: i, j, k, n, s, size_m1, size_m2
integer, allocatable :: m2(:,:)
logical :: l, l1

size_m1 = size(m1, 1)
size_m2 = 0

!Определим размер массива парных сумм
do i = 1, size_m1 - 1
size_m2 = size_m2 + i
end do

allocate (m2(2, size_m2))

data m1/4, 8, 10, 12, 15, 17, 19, 23, & !Первый набор цифр (отсортированы)
5, 7, 9, 13, 14, 18, 20, 22/ !Второй набор цифр (отсортированы)

do s=1, 2
k=1; n=2
do i=1, size_m1-1
do j = n, size_m1
m2(s,k) = m1(i,s) + m1(j,s)
k=k+1
end do
n=n+1
end do
end do

l1=.true. !Переключатель направления сортировки
call sort_int (m2(1,:), size_m2, l1)
call sort_int (m2(2,:), size_m2, l1)

l = all (m2(1,:) == m2(2,:)) !Сравним парные суммы

print 100, m2 (1,:) !Печать первого массива парных сумм
print*,
print 100, m2 (2,:) !Печать второго массива парных сумм

print*,
print*, " Сумма исх. чисел 1-го набора = ", sum(m1(:,1))
print*, " Сумма исх. чисел 2-го набора = ", sum(m1(:,2))
print*, " Сумма парных сумм 1-го набора = ", sum(m2(1,:))
print*, " Сумма парных сумм 2-го набора = ", sum(m2(2,:))
print*, " Размер исходного массива = ", size_m1
print*, " Размер массива парных чисел = ", size_m2
print*,

if (l) then
print*, " Результат: coвпадение сумм есть !!!"
else
print*, " Результат: cовпадения нет."
end if

deallocate (m2)
100 format (7i10)
end program summa_chisel

Для изменения чисел нужно в строчках помеченных как "!Первый набор цифр и !Второй набор цифр" ввести свои числа:
    1. числа отделяются запятыми
    2. первая строчка должна закончится запятой и символом &
    3. вторая строчка должна закончится символом / без запятой

Если меняете количество цифр, то дополнительно нужно указать количество чисел набора, это делается в строчке №3 кода (в online версии №7) integer :: m1(8,2) !Размер массива исходных чисел.
В примере по 8 цифр, если в Вашем примере будет по 10 цифр, то запись должна быть integer :: m1(10,2)

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

ps Модуль сортировки sort у меня скомпилирован отдельно, но в online это не прокатит, поэтому там дополнительно прикручен код из этого модуля.

Вернуться к началу
 Профиль  
Cпасибо сказано 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему    На страницу Пред.  1, 2, 3, 4  След.  Страница 3 из 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 часа [ Летнее время ]



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

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


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

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

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

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