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

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

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

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




Начать новую тему Ответить на тему  [ Сообщений: 47 ]  На страницу 1, 2, 3, 4, 5  След.
Автор Сообщение
 Заголовок сообщения: Напишите мне программку (китайская теорема об остатках)
СообщениеДобавлено: 12 июн 2022, 10:00 
Не в сети
Свет и истина МРК
Аватара пользователя
Зарегистрирован:
06 янв 2015, 22:27
Сообщений: 6687
Откуда: Саратов
Cпасибо сказано: 750
Спасибо получено:
535 раз в 462 сообщениях
Очков репутации: -263

Добавить очки репутацииУменьшить очки репутации
Уважаемые коллеги!
Помогите, пожалуйста, скомбинировать и получить формулы.

Есть 7 множеств, числа этих множеств в круглых скобках.

2: (1)
3: (2,1)
5: (3,2)
7: (3,2)
11: (10,3)
13: (11,9)
17: (9,8,7,6)

Как эти множества найдены, сейчас застрелите меня - не помню.
В рабочем файле записаны.
Это связано с поиском формулы для кортежа длины 17 по паттерну.
Если кто-то заинтересуется, расскажу подробно, что за паттерн.

А сейчас мне надо скомбинировать числа этих 7 множеств так: из каждого множества берём по одному числу, все возможные варианты.
Всего вариантов должно получиться 128. Правильно?
Конечно, можно все эти варианты вручную выписать, но... это ж трупом можно лечь :)
Надо этот процесс автоматизировать.

Но на этом процесс не заканчивается.
Дальше формируется функция ChineseRemainder.
Тут прямое указание на китайскую теорему об остатках, которую, к стыду своему, не знаю.
Ну, это знает ВольфрамАльфа.
Вот эти примеры у меня в рабочем файле записаны

ChineseRemainder[{1,1,2,2,3,9,6},{2,3,5,7,11,13,17}]
480307
ChineseRemainder[{1,2,2,2,3,9,9},{2,3,5,7,11,13,17}]
470297

Функцию эту надо ввести в ВольфрамАльфа, и он выдаст результат, для первого примера результат будет 480307, для второго - 470297.

Для данной задачи у меня должно получиться 128 формул.
Понятно, что 128 раз вычислять функцию в ВольфрамАльфа весьма муторно.
Этот этап тоже надо автоматизировать.

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

Можно ли решить эту задачу?

Я попробовала бы написать программку, например, на PARI/GP, если бы знала, как вычисляется функция ChineseRemainder.

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Получить формулы (китайская теорема об остатках)
СообщениеДобавлено: 12 июн 2022, 14:07 
Не в сети
Продвинутый
Зарегистрирован:
17 апр 2020, 10:40
Сообщений: 70
Cпасибо сказано: 1
Спасибо получено:
25 раз в 20 сообщениях
Очков репутации: 8

Добавить очки репутацииУменьшить очки репутации
1 4223
2 19693
3 19847
4 21563
5 29417
6 29963
7 30403
8 38257
9 39973
10 40127
11 45433
12 55597
13 56143
14 63997
15 64283
16 69743
17 79753
18 79907
19 80453
20 81623
21 88307
22 89477
23 90023
24 90463
25 95923
26 98317
27 100187
28 103777
29 105493
30 105647
31 114487
32 115657
33 116203
34 124057
35 129803
36 139967
37 140513
38 148367
39 150083
40 155983
41 163837
42 165553
43 165707
44 174547
45 176263
46 184117
47 189863
48 200573
49 208427
50 210143
51 215603
52 216043
53 223897
54 224443
55 225613
56 225767
57 226313
58 234167
59 234607
60 236323
61 241783
62 244177
63 249637
64 249923
65 260347
66 260633
67 266093
68 268487
69 273947
70 275663
71 276103
72 283957
73 284503
74 284657
75 285827
76 286373
77 294227
78 294667
79 300127
80 301843
81 309697
82 320407
83 326153
84 334007
85 335723
86 344563
87 344717
88 346433
89 354287
90 360187
91 361903
92 369757
93 370303
94 380467
95 386213
96 394067
97 394613
98 395783
99 404623
100 404777
101 406493
102 410083
103 411953
104 414347
105 419807
106 420247
107 420793
108 421963
109 428647
110 429817
111 430363
112 430517
113 440527
114 445987
115 446273
116 454127
117 454673
118 464837
119 470143
120 470297
121 472013
122 479867
123 480307
124 480853
125 488707
126 490423
127 490577
128 506047

Вернуться к началу
 Профиль  
Cпасибо сказано 
За это сообщение пользователю Bloodhound "Спасибо" сказали:
Nataly-Mak
 Заголовок сообщения: Re: Получить формулы (китайская теорема об остатках)
СообщениеДобавлено: 12 июн 2022, 15:11 
Не в сети
Свет и истина МРК
Аватара пользователя
Зарегистрирован:
06 янв 2015, 22:27
Сообщений: 6687
Откуда: Саратов
Cпасибо сказано: 750
Спасибо получено:
535 раз в 462 сообщениях
Очков репутации: -263

Добавить очки репутацииУменьшить очки репутации
Bloodhound
огромное спасибо!
Можно узнать, как вы решали задачу?

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Получить формулы (китайская теорема об остатках)
СообщениеДобавлено: 12 июн 2022, 15:24 
Не в сети
Продвинутый
Зарегистрирован:
17 апр 2020, 10:40
Сообщений: 70
Cпасибо сказано: 1
Спасибо получено:
25 раз в 20 сообщениях
Очков репутации: 8

Добавить очки репутацииУменьшить очки репутации
python
from itertools import product
from math import prod

def chinese_remainder(primes, a):
sum, mod = 0, prod(primes)
for p_i, a_i in zip(primes, a):
n = mod // p_i
sum += a_i * mul_inv(n, p_i) * n
return sum % mod

def mul_inv(a, b):
# extended Euclid algo. Return x such ax = 1 (mod b)
b0 = b
x0, x1 = 0, 1
if b == 1: return 1
while a > 1:
q = a // b
a, b = b, a%b
x0, x1 = x1 - q * x0, x0
if x1 < 0: x1 += b0
return x1

m = [[1], [2,1], [3,2], [3,2], [10,3], [11,9], [9,8,7,6]]
primes = [2, 3, 5, 7, 11, 13, 17]

res = list(product(*m))
for i, v in enumerate(sorted([chinese_remainder(primes, x) for x in res]), 1):
print(i,v)

Вернуться к началу
 Профиль  
Cпасибо сказано 
За это сообщение пользователю Bloodhound "Спасибо" сказали:
bimol, mad_math, Nataly-Mak, sergebsl
 Заголовок сообщения: Re: Получить формулы (китайская теорема об остатках)
СообщениеДобавлено: 12 июн 2022, 15:35 
Не в сети
Свет и истина МРК
Аватара пользователя
Зарегистрирован:
06 янв 2015, 22:27
Сообщений: 6687
Откуда: Саратов
Cпасибо сказано: 750
Спасибо получено:
535 раз в 462 сообщениях
Очков репутации: -263

Добавить очки репутацииУменьшить очки репутации
Bloodhound
Спасибо.
А что мне надо сделать, если я сама захочу решить эту задачу для других данных?
Можно с кода Питона получить исполняемую программку?
К сожалению, не знаю Питон.
Простенькие программки пишу на PARI/GP, здесь не надо компилировать, всё работает в программной оболочке.

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Получить формулы (китайская теорема об остатках)
СообщениеДобавлено: 12 июн 2022, 15:48 
Не в сети
Продвинутый
Зарегистрирован:
17 апр 2020, 10:40
Сообщений: 70
Cпасибо сказано: 1
Спасибо получено:
25 раз в 20 сообщениях
Очков репутации: 8

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

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Получить формулы (китайская теорема об остатках)
СообщениеДобавлено: 13 июн 2022, 04:20 
Не в сети
Продвинутый
Зарегистрирован:
17 апр 2020, 10:40
Сообщений: 70
Cпасибо сказано: 1
Спасибо получено:
25 раз в 20 сообщениях
Очков репутации: 8

Добавить очки репутацииУменьшить очки репутации
Сделал exe
Пример работы:
Изображение

Ссылка для скачивания:
https://drive.google.com/file/d/1-BhqYK ... sp=sharing

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Получить формулы (китайская теорема об остатках)
СообщениеДобавлено: 13 июн 2022, 04:42 
Не в сети
Свет и истина МРК
Аватара пользователя
Зарегистрирован:
06 янв 2015, 22:27
Сообщений: 6687
Откуда: Саратов
Cпасибо сказано: 750
Спасибо получено:
535 раз в 462 сообщениях
Очков репутации: -263

Добавить очки репутацииУменьшить очки репутации
Спасибо, но программа у меня не работает.
Нет библиотечной программы api-ms-win-core-path-l1-1-0.dll

Скачала эту программу из Интернета, программа всё равно не работает, ошибка та же самая: нет программы.

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Напишите мне программку (китайская теорема об остатках)
СообщениеДобавлено: 13 июн 2022, 06:38 
Не в сети
Свет и истина МРК
Аватара пользователя
Зарегистрирован:
06 янв 2015, 22:27
Сообщений: 6687
Откуда: Саратов
Cпасибо сказано: 750
Спасибо получено:
535 раз в 462 сообщениях
Очков репутации: -263

Добавить очки репутацииУменьшить очки репутации
Bloodhound
Я скачала и ещё одну версию отсутствующей программы - 32-bit.
Это тоже не помогло.

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Напишите мне программку (китайская теорема об остатках)
СообщениеДобавлено: 13 июн 2022, 08:18 
Не в сети
Оракул
Зарегистрирован:
13 дек 2015, 17:51
Сообщений: 952
Cпасибо сказано: 154
Спасибо получено:
150 раз в 135 сообщениях
Очков репутации: 11

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

 Похожие темы   Автор   Ответы   Просмотры   Последнее сообщение 
Китайская теорема об остатках для многочленов 1 переменной

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

nikita123321aaa

2

661

10 июн 2017, 20:33

Напишите тригонометрические формулы

в форуме Тригонометрия

zzzina-z

12

914

06 дек 2013, 19:46

Напишите уравнение касательной

в форуме Пределы числовых последовательностей и функций, Исследования функций

Mouen

2

398

09 дек 2014, 18:29

Напишите функцию для конвертирования:

в форуме Mathematica

xdgal1as

1

593

05 дек 2016, 23:54

Напишите формулу для производной функции

в форуме Дифференциальное исчисление

mxkrbk

1

351

27 ноя 2013, 11:33

Напишите каноническое уравнение параболы

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

Margaret

1

630

08 дек 2013, 21:29

Напишите уравнение геометрического места точек

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

Mozgovaya_anastasia

2

567

29 дек 2014, 21:58

Напишите все тригонометрические формулы,чтобы выразить sin,

в форуме Тригонометрия

Yuliayulia

1

376

12 мар 2014, 15:25

Напишите в развернутом виде и исследуйте на сходимость ряд

в форуме Ряды

Andriotte73

0

418

27 ноя 2016, 19:43

Теоре́ма о модуля́рности и Великая теорема Ферма

в форуме Размышления по поводу и без

ammo77

0

222

09 мар 2020, 22:51


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



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

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


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

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

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

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