|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
11.06.2015, 21:00 | #1 |
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,629
|
Задачка для спинного мозга. Рубрика "А вам слабо?".
Попросили "глянуть" за полчаса до конца рабочего дня.
Честно скажу - нахрапом ниасилил, до сих пор залипаю. Но постановка задачи мне показалась интересной. Поэтому вываливаю в интернеты. Разомните мозг, коллеги! Задача: натыкать вот такую функцию: Код:
Код:
Ограничения: 1. память юзать по совести, она не резиновая. 2. операторы деления (div, mod, /, %), функции, ассемлер не использовать! ho-ho-ho!!! 3. использовать только типы Byte, Word, DWord, а также, если нужно, массивы этих типов. Рекомендации: 1. приветствуется использование целочисленных операторов (+, -, *, ++, --) и побитовых (not, and, or, xor, shl, shr, !, &, |, ^, <<, >>). 2. таблицы констант использовать в разумных пределах. для начала, разумными будем считать 2 мегабайта памяти. Условия прежние - нашедшему катер плачу гинею! (ставлю пиво) З.Ы. Если вариантов нет, можем пересмотреть условия. Главная цель - деление 4-байтного на байт без использования операторов деления. Иначе задача не имеет смысла. Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
Последний раз редактировалось min@y™; 11.06.2015 в 22:11. |
11.06.2015, 21:22 | #2 |
Форумчанин
Регистрация: 31.05.2011
Сообщений: 301
|
В чём подвох?
Код:
Последний раз редактировалось ДралсяСошибками; 11.06.2015 в 22:11. |
11.06.2015, 22:10 | #3 | |
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,629
|
Цитата:
использовать только типы Byte, Word, DWord. Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
|
|
11.06.2015, 22:20 | #4 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,289
|
http://www.cyberforum.ru/post5356777.html - если верно понял "Деление через умножение", то с помощью 1024 + 96 байт можно будет задать магические числа и сдвиги для всех возможных значений Y. Таким образом получится посчитать частное, а Остаток = Делимое - Частное * Делитель.
PS Не уверен в идее.И инт64 тоже понадобится.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
Последний раз редактировалось BDA; 11.06.2015 в 22:28. |
11.06.2015, 22:21 | #5 | |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Кто тестировать будет?
Код:
Цитата:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 11.06.2015 в 22:24. |
|
11.06.2015, 22:45 | #6 | |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,289
|
Аватар, запустил вот так:
Код:
Цитата:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
|
11.06.2015, 22:54 | #7 | |
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,629
|
Цитата:
Щас похаваю чоньть и погоняю. Аимадара умырзын. Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
|
|
11.06.2015, 23:05 | #8 |
Новичок
Джуниор
Регистрация: 11.10.2011
Сообщений: 3,882
|
Бинарным поиском найти такое k, что x >= k*y.. Потом радоваться, не?
|
11.06.2015, 23:11 | #9 | |
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,629
|
Цитата:
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
|
|
11.06.2015, 23:30 | #10 |
Новичок
Джуниор
Регистрация: 11.10.2011
Сообщений: 3,882
|
Код:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Постоянно слетает галочка "автоматически" в "Параметры Excel", "Формулы", "Вычисления в книге" | Alexsandrr | Microsoft Office Excel | 4 | 19.10.2013 14:22 |
Выдать возраст по русски "Вам ___ лет" (Задача в Паскале другим способом) | dimanaprimer | Помощь студентам | 2 | 08.10.2012 10:13 |
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" | aleksei78 | Microsoft Office Excel | 13 | 25.08.2009 12:04 |
Ваше "топливо" для мозга | Ivan_32 | Свободное общение | 60 | 07.06.2009 21:08 |
Слабо "Морской бой" на ассемблере? =) | VenZell | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 0 | 26.05.2009 21:36 |