|
Придумать алгоритм. Есть математики? | ☑ | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0
Vovan_Magadan
30.07.13
✎
08:50
|
Привет.
Мне нужен алгоритм, но я не могу его найти / придумать. Как то начинал пару лет назад пробовать разное, не пришел к успеху. Есть мнение что это невозможно. Есть ли тут люди которые любят математику и хотят поломать голову? Дано( см. изображение http://img.by/i/6uJcV.jpg ): 1) есть три числа, каждое число может быть от 1 до 255 2) нужно из этих трех чисел, получить одно число (логично что оно уже будет большое) 3) и главное возможность ОБРАТНО из большого числа, получить эти три в том же порядке! Есть вопросы? Спрашивайте. |
||||||||||||||||
60
dmpl
30.07.13
✎
09:14
|
(53) Ну, если встроить детектор определения псевдослучайных последовательностей - то и до 1 кБ можно ж)
|
||||||||||||||||
61
Rovan
гуру
30.07.13
✎
09:14
|
(35) ты это дело прекращай
или меняй условие задачи или решения нет |
||||||||||||||||
62
Ненавижу 1С
гуру
30.07.13
✎
09:14
|
(57) это сложно для некоторых ))
|
||||||||||||||||
63
Rovan
гуру
30.07.13
✎
09:15
|
(58) см (13)
|
||||||||||||||||
64
Lama12
30.07.13
✎
09:15
|
(49) Архиваторы работают по принципу удаления избыточности информации.
(0)(13)Математики не врут. Задача разрешима только при условии что 256^3 < 65536. Это не возможно. |
||||||||||||||||
65
Капитан О
30.07.13
✎
09:16
|
(58) ограничение выхода в два байта
|
||||||||||||||||
66
Гобсек
30.07.13
✎
09:17
|
Три числа от 1 до 255 могут породить 255^3 = 16581375 различных комбинаций. Для того, чтобы их закодировать различными целыми числами, нужны числа от 1 до 16581375.
|
||||||||||||||||
67
MiniMuk
30.07.13
✎
09:17
|
(19) Невозможно 255 это FF три числа по 255 это FFFFFF = 16777215
|
||||||||||||||||
68
Лодырь
30.07.13
✎
09:17
|
(62) Особенно радует: "нет решения, спрашивал у математиков, не смогли помочь. Но я чувствую можно"
|
||||||||||||||||
69
Ненавижу 1С
гуру
30.07.13
✎
09:18
|
(68) а вдруг? потом он скажет, что это число не обязательно целое
|
||||||||||||||||
70
Живой Ископаемый
30.07.13
✎
09:18
|
это все клево до тех пор, пока мы решаем число может быть только целым. Давайте поделим его на 1000 или на 10000
|
||||||||||||||||
71
Vovan_Magadan
30.07.13
✎
09:19
|
(66) в этом и соль может как то их делить эти числа
|
||||||||||||||||
72
Кирпич
30.07.13
✎
09:19
|
наверное это автор отсюда Кодирование числовой информации
просто ник сменил. ибо два таких автора - это редкость. |
||||||||||||||||
73
Vovan_Magadan
30.07.13
✎
09:20
|
(72) нет, там другой вопрос.
У меня всего один вопрос по математике, он в этой теме =) |
||||||||||||||||
74
Rovan
гуру
30.07.13
✎
09:20
|
(+52) пост 80 - автор mr_K
Тебя не смущает, что ты пытаешься закодировать 24битное число в один символ? Т.е. пространство таких символов должно содержать 2 в 24 степени элементов? И алгоритмы сжатия тут не причем В качестве офф-топик: на студенческой олимпиаде по программированию, на финальном туре нужно было написать свой алгоритм архивации. Граничное условие - чтобы заархивированный файл был не больше исходного. Учитывались размер архива и время архивации/разархивации. Победил чел, который тупо копировал файл туда сюда. Ибо больше никто не прошел граничное условие на одном из тестов |
||||||||||||||||
75
Гобсек
30.07.13
✎
09:20
|
Ветка наводит на грустные размышления. Магаданский пединститут переименовал себя в университет, но...
|
||||||||||||||||
76
serffer
30.07.13
✎
09:20
|
Надо архивировать. например с 65000 по 65500 хранить числа где первые 2 цифры дублируются, или где вторые 2 дублируются.
|
||||||||||||||||
77
Ненавижу 1С
гуру
30.07.13
✎
09:21
|
(70) если не целое, то достаточно от 0 до 1 ))
|
||||||||||||||||
78
Asmody
30.07.13
✎
09:21
|
(69) не, я так понимаю, что 65536 не с потолка взялось
|
||||||||||||||||
79
Rovan
гуру
30.07.13
✎
09:21
|
(72) сч (52) :-)
|
||||||||||||||||
80
Ненавижу 1С
гуру
30.07.13
✎
09:21
|
(76) архивирование не помогает здесь ))
|
||||||||||||||||
81
Lama12
30.07.13
✎
09:22
|
(71) Автор, а какое у тебя образование?
|
||||||||||||||||
82
Vovan_Magadan
30.07.13
✎
09:23
|
(81) 5 классов
|
||||||||||||||||
83
Андрюха
30.07.13
✎
09:23
|
(0) Дарю решение:
122 + 200 + 255 = 122200255 = 122 + 200 + 255 |
||||||||||||||||
84
Ненавижу 1С
гуру
30.07.13
✎
09:23
|
(83) мы ждали тебя с нетерпением ))
|
||||||||||||||||
85
Андрюха
30.07.13
✎
09:24
|
отож )))
|
||||||||||||||||
86
Ненавижу 1С
гуру
30.07.13
✎
09:24
|
может автора за (82) забанить?
|
||||||||||||||||
87
Vovan_Magadan
30.07.13
✎
09:24
|
(86) да
|
||||||||||||||||
88
Rovan
гуру
30.07.13
✎
09:24
|
математический тролль детектед !
предлагаю закрыть ветку !! |
||||||||||||||||
89
Живой Ископаемый
30.07.13
✎
09:24
|
2(83) молодец, настоящий 1Сник, как и автор... Автор забыл написать условие, написал его в (13), а ты подумал - вот тупые 1Сники, решение ведь простое, и умный я вам его сейчас дам
|
||||||||||||||||
90
Lama12
30.07.13
✎
09:25
|
(86) +100500.
|
||||||||||||||||
91
Vovan_Magadan
30.07.13
✎
09:25
|
(88) смысл имея 2 по математике заходить в эту тему и предлагать её закрыть? Я пришел сюда думать с умными людьми
|
||||||||||||||||
92
Кирпич
30.07.13
✎
09:25
|
(82) Ты сейчас в пятом или уже в шестом?
|
||||||||||||||||
93
magicSan
30.07.13
✎
09:26
|
(91) а есть чем думать то??? ну там познания какиенить начальнеы ...
|
||||||||||||||||
94
Vovan_Magadan
30.07.13
✎
09:26
|
(76) можно подробнее?
|
||||||||||||||||
95
Живой Ископаемый
30.07.13
✎
09:26
|
правильно, и таким образом индукционно учить эту математику. Мы все чувствуем, что это годный способ.
|
||||||||||||||||
96
Lama12
30.07.13
✎
09:26
|
(91) Не понял. Ты сам себя критикуешь?
|
||||||||||||||||
97
Vovan_Magadan
30.07.13
✎
09:26
|
Короче троллям отвечать не буду, жду ответ (76)
|
||||||||||||||||
98
Asmody
30.07.13
✎
09:27
|
(83) заебца у тебя сложение работает. У вас з/п тоже так считают?
|
||||||||||||||||
99
Андрюха
30.07.13
✎
09:27
|
(89) С поправкой на (13) = 12220.0255 < 65500, про целочисленное нигде не сказано )))
|
||||||||||||||||
100
Андрюха
30.07.13
✎
09:27
|
(98) Это не сложение
|
||||||||||||||||
101
Lama12
30.07.13
✎
09:28
|
Закрывайте ветку.
Человек не в адеквате. Пытается теорию чисел разрушить. |
||||||||||||||||
102
dmpl
30.07.13
✎
09:28
|
(101) Судя по нику - ему начальник пообещал вольную подписать, когда он решение найдет :)
|
||||||||||||||||
103
Ненавижу 1С
гуру
30.07.13
✎
09:29
|
(101) рано еще ему теорию чисел, он пока теорию множеств осиливает, причем конечных
|
||||||||||||||||
104
PLUT
30.07.13
✎
09:30
|
(83) а теперь это в два байта запих.й
|
||||||||||||||||
105
Rovan
гуру
30.07.13
✎
09:30
|
Прикрутил голосовалку !! :-)
Невозможно - такого не может быть никогда |
||||||||||||||||
106
Андрюха
30.07.13
✎
09:30
|
(104) Зачем? В условиях задачи про байты не говорится.
|
||||||||||||||||
107
Vovan_Magadan
30.07.13
✎
09:30
|
К стати да, автора этой темы Кодирование числовой информации тоже с ног до головы обоклали какахами, ну так интернет героев много =)
|
||||||||||||||||
108
Vovan_Magadan
30.07.13
✎
09:31
|
голосую, надо просто смотреть в не очевидное, а более конструктивно
Алгоритм еще не изобрели |
||||||||||||||||
109
arsik
гуру
30.07.13
✎
09:32
|
(0) Алексей. Бабушкин, это ты?
|
||||||||||||||||
110
PLUT
30.07.13
✎
09:33
|
(106) по условиям из трех чисел одно <FFFF (дыдыщь! 2 байта) и обратно в том же порядке
|
||||||||||||||||
111
Бывший адинэсник
30.07.13
✎
09:35
|
(0) на этом построены методы шифрования, единственное что ты можешь получить это набор возможных начальных чисел
|
||||||||||||||||
112
Starhan
30.07.13
✎
09:36
|
(0)Так целое или не целое, конечное число?
|
||||||||||||||||
113
User_Agronom
30.07.13
✎
09:37
|
Не нашел такого ответа.
Таблица ASCII: Просто записать строку из трёх символов, по номерам этих символов. Только про ноль нужно что-то придумать Другое |
||||||||||||||||
114
Vovan_Magadan
30.07.13
✎
09:37
|
(112) целое =)
|
||||||||||||||||
115
magicSan
30.07.13
✎
09:37
|
(111) или не сколько "ключей" - не одназначное соответствие.
|
||||||||||||||||
116
Starhan
30.07.13
✎
09:38
|
(113) нельзя строку во вторых ты с номером символа вернулся к исходному условию
|
||||||||||||||||
117
Vovan_Magadan
30.07.13
✎
09:38
|
(113) увы но не так все легко =)
Три символа ASC будет три байта, что больше 65 тыщ, увы. |
||||||||||||||||
118
PLUT
30.07.13
✎
09:41
|
(117) RADIX-50 кадирофка, когда компьютеры были большими юзался, но там три символа в два байта пихали, но всего 50 символов
|
||||||||||||||||
119
Кип Калм
30.07.13
✎
09:41
|
Вместо Вована можно главную страницу Мисты при открытии два-три раза загружать.
Другое |
||||||||||||||||
120
Бывший адинэсник
30.07.13
✎
09:42
|
Расходимся, нас НАЕ... обманули
|
||||||||||||||||
121
User_Agronom
30.07.13
✎
09:43
|
тогда невозможно.
1 Бит единица измерения информации. У Вас три числа (каждое по 8 бит), в сумме 24 бита. Вы хотите уложиться в 16 бит. Нельзя поместить в 3 зайцев в 2 клетки так, чтобы в каждой клетке было не более одного кролика. Невозможно - такого не может быть никогда |
||||||||||||||||
122
Vovan_Magadan
30.07.13
✎
09:45
|
Надо что то типа:
Можно например, есть 255 255 / 2 = 127.5 (по условию нельзя дробное) округляем вверх = 128 Обратное 128 Х 2 = 256 - 1 = 255 163 / 2 = 81,5 = 82 Обратное 82 * 2 = 164 - 1 = 163 3 / 2 = 1,5 = 2 Обратное 2 х 2 = 4 - 1 = 3 так из 255 мы уже можешь получать числа в два раза меньше, просто как пример |
||||||||||||||||
123
arsik
гуру
30.07.13
✎
09:47
|
(121) можно. Кот Шредингера.
|
||||||||||||||||
124
Ненавижу 1С
гуру
30.07.13
✎
09:47
|
(122) идиот? а с четными как?
|
||||||||||||||||
125
sikuda
30.07.13
✎
09:47
|
(121) Внимательно условие 1-255, а не 0-255. Что-то я думаю можно впихнуть но насколько это 1-255, не уверен...
Другое |
||||||||||||||||
126
MSII
30.07.13
✎
09:50
|
Это же тот Вован, который про миллионы строк в ТЧ писал, да?
|
||||||||||||||||
127
Vovan_Magadan
30.07.13
✎
09:50
|
(124) да я идиот, кто мешает проверить на четные?
|
||||||||||||||||
128
Vovan_Magadan
30.07.13
✎
09:52
|
+ (122)
с четными. 244 / 2 = 122 Обратная (проверка на четность числа 122) = 122 * 2 = 244 |
||||||||||||||||
129
Diversus
30.07.13
✎
09:52
|
Я не так давно решал подобную задачу. Хранил в реквизите цвет, в формате RGB.
Т.е. в одном реквизите хранил значение трех цветовых составляющих, значения каждого из которых от 0 до 255. Вышел из положения так. Завел реквизит типа строка с длинной в 6 символов. Каждый из которых конвертится в 16-ти ричную систему счисления с длинной для каждого цвета 2 символа. Пример: Красный FF0000 Зеленый 00FF00 Серый АААААА Конвертация в цвет действие обратное. Для чисел можно использовать тот же принцип. Т.е. числа 255, 100, 129 = 255100129 23, 10, 15 = 23010015 1, 100, 1 = 1100001 Второе и третье число приводим к длине 3 с лидирующими нулями. Алгоритм обратного преобразования: переводим в строку берем последние три символа, переводим в число - получили третье число, потом берем перед ними три символа, переводим в число - получили второе число, то, что осталось переводим в число получили первое число. |
||||||||||||||||
130
Rovan
гуру
30.07.13
✎
09:55
|
(129) подобие твое задачи заканчивается в фразе
"строка с длинной в 6 символов" |
||||||||||||||||
131
User_Agronom
30.07.13
✎
09:55
|
(127) Но результат проверки опять же нужно где-то хранить. А это биты информации.
Ну поделили на 2. Получили 12 бит информации. +3 бита чётность. Вроде в 16 укладывается |
||||||||||||||||
132
Vovan_Magadan
30.07.13
✎
09:55
|
Увы но я не математик с 30 годовым стажем, так бы я тут не писал, лишь чувствую что можно и нужна помощь.
Можно танцевать от этого 256^3 = 16777216 да это больше 65000 а что если 16777216 / 1000 = 16777,216 и потом уже округлить до целых. А в обратном уже сделать типа коэффициента и получить 16777216 |
||||||||||||||||
133
User_Agronom
30.07.13
✎
09:56
|
Не, на два поделим будет 21 бит. Всё равно не получиться
|
||||||||||||||||
134
User_Agronom
30.07.13
✎
09:57
|
Никак. Если мы поделим на два, уменьшим неопределенность на один бит. таким образом получим 21 бит чисел и три бита инфа о чётности.
Всё равно будет 24 бита. Невозможно |
||||||||||||||||
135
User_Agronom
30.07.13
✎
09:58
|
(123) Где цитата от Станиславского?
|
||||||||||||||||
136
Fenrik
30.07.13
✎
09:59
|
Легко.
Берем 122, 200, 255, преобразовываем в 122200255. Так, должно быть не больше 65500, значит умножаем на -1, получаем -122200255. Обратно преобразовать возможно, задача решена! |
||||||||||||||||
137
Vovan_Magadan
30.07.13
✎
10:01
|
(136) ..... не меньше 0
|
||||||||||||||||
138
Salimbek
30.07.13
✎
10:02
|
(132) В твоем примере:
163 / 2 = 81,5 = 82 Обратное 82 * 2 = 164 - 1 = 163 Ты ведь в конце получаешь число 82 - правильно? Внимание вопрос - А какое кодовое число у тебя будет, если начальное 164? И как из него ты сможешь получить 164? |
||||||||||||||||
139
NS
30.07.13
✎
10:05
|
Вы издеваетесь?
Вроде ТС четко сказали, что число возможных вариантов в (0) 256^3 степени, и соответственно сделать взаимно-однозначное отображение можно только в множество такого-же размера. |
||||||||||||||||
140
Fenrik
30.07.13
✎
10:07
|
(137) Ух ты, еще одно условие. Ладно, напряжемся...
преобразуем в 1/122200255. И снова задача решена! |
||||||||||||||||
141
Ненавижу 1С
гуру
30.07.13
✎
10:10
|
(139) во-первых ты опоздал, во-вторых не мешай ))
|
||||||||||||||||
142
Salimbek
30.07.13
✎
10:10
|
(139) Мы то не издеваемся, это (0) над нами издевается.
Цитата из (43): "нет решения, спрашивал у математиков, не смогли помочь. Я писал будет легко? Но я чувствую можно" Так что тут мы уходим из математики и переходим в вопросы веры. Ну вот верит человек, что это возможно. |
||||||||||||||||
143
NS
30.07.13
✎
10:19
|
Играйтесь, играйтесь, мужички. Не буду мешать :)
|
||||||||||||||||
144
Asmody
30.07.13
✎
10:29
|
(139) да ладно, нормально, чо! сейчас они придумают способ упаковать 3 байта в 2 и Вселенная сколлапсирует
|
||||||||||||||||
145
Кирпич
30.07.13
✎
10:32
|
Автор спросил у математиков. Те ему ответили:"Это невозможно, но можно на Мисте попробовать."
Ждем когда автор сделает вывод, что одинесники такие же тупые, как и математики. |
||||||||||||||||
146
Кирпич
30.07.13
✎
10:34
|
+(145)Голосовалку нужно другую.
1. Автор кретин. 2. Автор тролль. |
||||||||||||||||
147
Rovan
гуру
30.07.13
✎
10:48
|
(+145) нельзя...но на Мисте все будут целый день меряться кто что-то похожее делал
|
||||||||||||||||
148
bolder
30.07.13
✎
11:14
|
(122) Великолепно ))Продолжая по той же "логике" получаем:
254/2 = 127 253/2 =126.5 ,округляем )) 127. Итого: неодназночное представление 254 и 253. Что и требовалось доказать. Автор,вы поймите простую вещь = число до 255 есть 2^8,то есть 8 бит занимает.№ числа соответственно 24 бита.Ну и как их поместить в прокруство ложе 16 бит? (2^16 = 65 536) Невозможно - такого не может быть никогда |
||||||||||||||||
149
bolder
30.07.13
✎
11:15
|
(148) № ==3
|
||||||||||||||||
150
ЗлобнийМальчик
30.07.13
✎
11:18
|
122 200 255 -> 122 * 1000000 + 200*1000 + 255
ну и в обратном порядке |
||||||||||||||||
151
ЗлобнийМальчик
30.07.13
✎
11:24
|
естественно
Алгоритм есть, но он секретный |
||||||||||||||||
152
Salimbek
30.07.13
✎
11:24
|
(150) Прочитай хотя бы первые 20 постов
|
||||||||||||||||
153
ЗлобнийМальчик
30.07.13
✎
11:25
|
стоит лям долларов.
|
||||||||||||||||
154
ЗлобнийМальчик
30.07.13
✎
11:25
|
(152) зачем? понятно же что автор тролль)
|
||||||||||||||||
155
bolder
30.07.13
✎
11:25
|
(150) Для представления 3-х чисел по 8 бит достаточно числа не более 16777216.А не 122 миллиона с хвостиком.ТС хочет в число не более 65536 поместить их обратимо,то есть с возможностью восстановления,что невозможно.
|
||||||||||||||||
156
ЗлобнийМальчик
30.07.13
✎
11:27
|
(155) про ограничение 65536 в посте (0) нет ничего. с таким ограничением естесттвено ничего не получится - чудес не бывает
|
||||||||||||||||
157
Unkas
30.07.13
✎
11:29
|
(0) "2) нужно из этих трех чисел, получить одно число (логично что оно уже будет большое) "
Дальше читать не стал =) |
||||||||||||||||
158
bolder
30.07.13
✎
11:31
|
(156)ТС> увы забыл добавить... общее число не может быть больше 65500 Пост 13 )))))).
|
||||||||||||||||
159
Rovan
гуру
30.07.13
✎
11:37
|
(+150) ждем еще 30-40 минут...
зайдет еще кто-то и не читая ветки (прочитав только 0) напишет "решение": А*1000000+Б*1000+В |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |