Задача про сгибание листка

26.02.13

Разработка - Математика и алгоритмы

Часто при приеме на работу встречается задача про сгибание листка

Скачать файлы

Наименование Файл Версия Размер
СверткаЛиста
.ert 41,50Kb
11
.ert 41,50Kb 11 Скачать

Есть полоска бумаги, мы ее сворачиваем пополам (оговорка сворачиваем всегда в одну сторону), и получается изгиб на бумаге, изгиб углом он вас (или выпуклый), обозначаем его за 0, теперь опять сворачиваем уже свернутую полоску 2 раз, на полоске теперь появляются новые изгибы, углом к нам обозначаем 1, углом от нас опять 0. в итоге у нас строка 1 0 0 (3 изгиба.) 
Задание заключается в том чтобы написать функцию возвращавшую бы нам строчку в зависимости от начального заданного числа изгибов полоски.

См. также

Экспорт нескольких MXL таблиц в один XLS файл, на отдельные листы. Простой алгоритм

Загрузка и выгрузка в Excel Математика и алгоритмы Платформа 1С v7.7 Платформа 1С v8.3 Бесплатно (free)

Статья посвящена распространённому вопросу - как сохранить несколько таблиц (отчетов) в формате MXL, с которым работает 1С, на отдельные листы одного Excel файла. Освещается простой алгоритм решения проблемы штатными средствами, без использования внешних модулей и библиотек (не относящихся к 1С и Excel).

23.11.2015    18901    etmarket    14    

20

.NET(C#) для 1С. Динамическая компиляция класса обертки для использования .Net событий в 1С через ДобавитьОбработчик или ОбработкаВнешнегоСобытия

Разработка внешних компонент Математика и алгоритмы Платформа 1С v7.7 Платформа 1С v8.3 Бесплатно (free)

Динамическая компиляция класса обертки для использования .Net событий в 1С через ДобавитьОбработчик или ОбработкаВнешнегоСобытия, а так же генерация модулей на C# и 1С для подключения к событиям. Использование DynamicMethod и ILGenerator. Представлены примеры для использовании событий System.IO.FileSystemWatcher (Ожидает уведомления файловой системы об изменениях и инициирует события при изменениях каталога или файла в каталоге.) и SerialPort (обработка сканера штрих кода подключенного к COM порту). Обертка позволяет использовать классы .Net только на языке 1С. Реализация 1C Messenger описанного здесь http://infostart.ru/public/434771/

12.11.2015    51082    Serginio    36    

57

Степень сходства двух наименований справочника

Математика и алгоритмы Платформа 1С v7.7 Платформа 1С v8.3 Абонемент ($m)

Статья посвящена исследованию следующего вопроса: необходимо сравнить 2 наименования справочников с целью вычисления их степени сходства. По задумке, степень сходства должна выражаться в процентах.

1 стартмани

25.02.2015    24443    etmarket    46    

17

Универсальная печать таблицы значений

Математика и алгоритмы Оперативный учет 7.7 Бухгалтерский учет 7.7 Расчет 7.7 Конфигурации 1cv7 Россия Абонемент ($m)

Универсальная печать таблицы значений, которую не стыдно прикрутить к рабочей базе данных. Группировка данных, подсчет итогов, составление диаграмм, выгрузка в быстрый доступ к исходной ТЗ.

1 стартмани

23.05.2012    14763    66    McSeem    3    

8

Тригонометрические функции в 7.7

Математика и алгоритмы Платформа 1С v7.7 Конфигурации 1cv7 Россия Абонемент ($m)

Алгоритм получения значения тригонометрических функций путем разложения их в ряд Тейлора

1 стартмани

04.03.2012    8589    4    nysysimara    10    

5

Таблица Значений для анализа при разработке и отладке

Математика и алгоритмы Платформа 1С v7.7 Конфигурации 1cv7 Россия Абонемент ($m)

Таблица Значений, для анализа данных при разработке и отладке.

1 стартмани

30.11.2011    16460    46    Boog    10    

15
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. v_id 106 26.02.13 14:16 Сейчас в теме
Я через описание так и не пробился, все слова понимаю смысл нет
Wrols; leaguener; jaroslav.h; orenair; BigB; Steelvan; delete; pm74; kapustinag; wolfsoft; charushkin; +11 Ответить
23. ValeryZ 29 27.02.13 17:38 Сейчас в теме
(1) Я, тоже чой-то представить не могу, как это всё дело загибать надо. Пробовал на живой бумажке даже...
7 изгибов выходит. Или я не теми словами загибаю... фихзнает.
24. venger 2121 27.02.13 17:40 Сейчас в теме
(23) Главное все время пополам
2. Поручик 4670 26.02.13 15:16 Сейчас в теме
(0) Какой упоротый дебил из руководятлов даёт такие задания и к чему это в торговой шарашке?
ДимокШ; RibD; DarkUser; jaroslav.h; shard; palsergeich; uri1978; Evil Beaver; delete; krv2k; kapustinag; wolfsoft; iov; charushkin; wowik; Ibrogim; +16 1 Ответить
5. superman 27.02.13 11:02 Сейчас в теме
(2) При приеме на работу в рарус=)
6. iov 406 27.02.13 11:14 Сейчас в теме
(5) теперь понятно почему у них в программах при перерасчете налогов - считает количество углов в процентах.
c300pm; wowik; 🅵🅾️🆇; wolfsoft; +4 Ответить
7. Поручик 4670 27.02.13 11:52 Сейчас в теме
(5)(6) Теперь понятно, почему в их поделиях .овнокода чуть больше чем полностью и работает через ту самую.
ДимокШ; +1 Ответить
12. iov 406 27.02.13 13:59 Сейчас в теме
(7) через ту самую - это .онокод-Style компании.. Имидж такой...
8. Ibrogim 1311 27.02.13 12:23 Сейчас в теме
(5)теперь понятно почему у них такие бумажки все мятые...
p.s. может они туалетную бумагу таким образом производят )
38. slava_gor 24.04.20 13:53 Сейчас в теме
(2)Здесь дело не в какой шарашке ты будешь работать а что ты сможешь реально написать с пользой для дела. :)
3. Ibrogim 1311 26.02.13 15:54 Сейчас в теме
Задача на 15 минут.
+ за вечернее разминание мозгов
4. Cvetic 307 27.02.13 08:47 Сейчас в теме
9. rus128 2 27.02.13 12:58 Сейчас в теме
"изгиб углом он вас" - это как?
10. venger 2121 27.02.13 13:15 Сейчас в теме
(0) Вы в курсе что больше семи раз не сложишь в реальности?)))) Любой размер любой бумаги)))
13. Ibrogim 1311 27.02.13 14:10 Сейчас в теме
(10) venger,
Вы в курсе что больше семи раз не сложишь
Для этого и нужна обработка )
14. venger 2121 27.02.13 14:23 Сейчас в теме
(13) Значит я не понял суть обработки, как она может это показать? Если в двух словах? я так понял она может до бесконечности строку формировать, плоскость то в математике толщины не имеет))))
19. ildarovich 7850 27.02.13 16:06 Сейчас в теме
(10) Видел телепередачу, где устанавливали рекорд числа сложений очень длинного рулона бумаги. Речь шла о 10-ти или 11-ти сложениях.
20. venger 2121 27.02.13 16:09 Сейчас в теме
(19) А плотность/толщина бумаги? Вот если взять полиграфию, то любой формат A6, A4, A3 десять раз не сложишь даже прессом)))
32. AlexanderKai 06.11.14 16:52 Сейчас в теме
(19) ildarovich,
Насколько я помню, речь шла о попеременных сгибах (как мы обычно складываем бумагу). А рулон, естественно, можно сложить побольше раз.
11. Sbelyi78 9 27.02.13 13:39 Сейчас в теме
Ну в реале скорее всего трудно
15. venger 2121 27.02.13 14:24 Сейчас в теме
+14, точку можно по идее математически до бесконечности пополам складывать)))
16. kapustinag 27.02.13 14:35 Сейчас в теме
Я тоже из описания публикации мало что понял. Если в Рарусе на собеседовании такими же словами ставят задачу, то у них просто бешеный отсев должен быть. Наверно, смысл этой задачи на собеседовании не в том, чтобы кандидат ее решил, а чтобы он ее хотя бы понял. Если проблеск понимания в глазах появился - наш человек, берем!
А я, получается, "не наш".
Steelvan; +1 Ответить
17. iov 406 27.02.13 14:39 Сейчас в теме
(16) Есть рациональное зерно в тесте тогда. Развитие телепатических навыков у программистов - основная проф обязанность.
shard; Manoshkin; Steelvan; +3 Ответить
18. ildarovich 7850 27.02.13 15:58 Сейчас в теме
Вот самое короткое(?) решение этой задачи в виде функции на 1С
function W(k,a=0,b=0)return?(k<1,"",W(k-1,a+b)+a%2+W(k-1,a+1+b,1))endfunction
Функция возвращает строку, в которой 0 - сгиб от нас, 1 - к нам. Первый параметр - необходимое число сложений, второй и третий параметры служебные. Всего в записи функции 77 символов. Не по-русски потому, что так короче.
25. ildarovich 7850 27.02.13 23:38 Сейчас в теме
(18) Если предположить, что число сгибов не может быть отрицательным, то можно сэкономить еще 2 символа. Итого 75 символов. Можно ли короче?
function W(k,a=0,b=0)return?(k,W(k-1,a+b)+a%2+W(k-1,a+b+1,1),"")endfunction
26. Ibrogim 1311 28.02.13 13:30 Сейчас в теме
(25) Тут не все понимают условие... а вы
Можно ли короче?

p.s. моё (первое пришедшее в голову) решение с двумя циклами и списком значений не только длиннее вашего, но и работает в 4 раза медленнее(на 10 сгибах)
29. mikhailovaew 127 18.03.13 14:03 Сейчас в теме
(25) ildarovich, снимаю шляпу! у меня получился алгоритм с двумя функциями, наподобие топикстартеровского.
Кстати, Sbelyi78, в выкладываемых творениях код все же лучше "причесывать", а то неаккуратно как-то...
34. ne_en 81 23.06.15 00:25 Сейчас в теме
(25) ildarovich, Не вникая и не пробуя, подумалось:
function W(k,a,b=0)return?(k,W(k-1,a+b)+a%2+W(k-1,a+b+1,1),"")endfunction

На два символа короче, ввиду того, что второй параметр нигде при вызове функции не передаётся пустым. Если считать вместе с самим первым вызовом функции (W(k,0), вместо W(k)), то та же длина.
А если подумать, то вызов W(k,0) некрасивый :)
35. ildarovich 7850 23.06.15 13:16 Сейчас в теме
(34) ne_en, в комментарии /13/ к статье Минимализмы приведено еще более короткое решение от AWA. Вот оно
функция г(ё,н=0)return?(ё,г(ё-1)+н+г(ё-1,1),"")endfunction
21. venger 2121 27.02.13 16:18 Сейчас в теме
Господа, пошарьте у себя в офисах бумагу, поскладывайте, тогда сразу все вопросы отпадут))))
22. venger 2121 27.02.13 16:23 Сейчас в теме
(0) Я думаю, что смысл теста тогда такой: построить математическую модель, показать что она не состоятельна в реальности, предложить физическую модель, с учетом того, что сгиб и бумага имеет толщину и жесткость, а бумага при определенной толщине (при складывании толщина увеличивается) приобретает жесткость такой степени, что нельзя уже продолжать сгибать, предложить коэффициенты и таблицы жесткости в зависимости от толщины/плотности, провести эксперименты, и доказать состоятельность физической модели. Итог: ищем программистов которые в состоянии двигать отечественную науку вперед))))) Кодить им не обязательно, физики-теоретики тоже нужны))))
27. tdr1225 37 28.02.13 17:22 Сейчас в теме
(0) Что-то было такое у Гарднера типа "Любознательная математика"
Если сложенную полоску бумаги развернуть так, чтобы углы всех изгибов были 90 градусов, то получится ломаная линия, называемая "линия дракона" N-го порядка, N = число изгибов. Если повернуть линию вокруг крайней точки на 90, 180 и 270 градусов, то исходная линия плюс три повернутых заполнять плоскость без пробелов.
28. Slon1c 04.03.13 17:09 Сейчас в теме
(27) tdr1225, ага, это самое задание и есть.Только в рарусе еще и графически сейчас нужно нарисовать ....
30. margo_m09 28.03.13 07:10 Сейчас в теме
хорошая идея, сразу понравилась обработка, даже если и есть какие недочеты пока при использовании, не заметили))))
31. SOLTAN 10 08.05.13 11:44 Сейчас в теме
Начало - 0
1 сгиб - 00
2 сгиб - 001
3 сгиб - 0010011
4 сгиб - 001001110011011
5.....
Т.е то, что было, к ниму добавляется поочередно 0/1, затем то, что было на предыдущем шаге переписывается зеркально и инвертируется....а зная механику в цикле организовать заполнение массива 0 проблем))
33. spetzpozh 16.11.14 03:11 Сейчас в теме
Это задачу давали на собеседовании в Рарусе в проектном отделе.
36. zzumma 21.02.18 21:13 Сейчас в теме
Функция Гнём(Раз)
Перем Ноль, Один;

	Ноль = "0";
	Для Ном = 1 По Раз-1 Цикл
		Ноль = Ноль + Ноль;
	КонецЦикла;
	
	Один = "1";
	Для Ном = 1 По Раз-1 Цикл
		Один = Один + Один;
	КонецЦикла;
	
	Возврат Ноль + Сред(Один,2);
	
КонецФункции
Показать
37. slava_gor 21.02.18 22:26 Сейчас в теме
Днёмсогнём-вечеромразогнём! )
Оставьте свое сообщение