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

26.02.13

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

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
СверткаЛиста
.ert 41,50Kb
11
11 Скачать (1 SM) Купить за 1 850 руб.

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

См. также

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

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

23.11.2015    19279    etmarket    14    

21

Разработка внешних компонент Математика и алгоритмы Программист Платформа 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    51885    Serginio    36    

58

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

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

1 стартмани

25.02.2015    25148    etmarket    46    

18

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

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

1 стартмани

23.05.2012    14901    66    McSeem    3    

8

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

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

1 стартмани

04.03.2012    8777    4    nysysimara    10    

5
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
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 2124 27.02.13 17:40 Сейчас в теме
(23) Главное все время пополам
2. Поручик 4692 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 407 27.02.13 11:14 Сейчас в теме
(5) теперь понятно почему у них в программах при перерасчете налогов - считает количество углов в процентах.
c300pm; wowik; 🅵🅾️🆇; wolfsoft; +4 Ответить
7. Поручик 4692 27.02.13 11:52 Сейчас в теме
(5)(6) Теперь понятно, почему в их поделиях .овнокода чуть больше чем полностью и работает через ту самую.
ДимокШ; +1 Ответить
12. iov 407 27.02.13 13:59 Сейчас в теме
(7) через ту самую - это .онокод-Style компании.. Имидж такой...
8. Ibrogim 1327 27.02.13 12:23 Сейчас в теме
(5)теперь понятно почему у них такие бумажки все мятые...
p.s. может они туалетную бумагу таким образом производят )
38. slava_gor 24.04.20 13:53 Сейчас в теме
(2)Здесь дело не в какой шарашке ты будешь работать а что ты сможешь реально написать с пользой для дела. :)
3. Ibrogim 1327 26.02.13 15:54 Сейчас в теме
Задача на 15 минут.
+ за вечернее разминание мозгов
4. Cvetic 307 27.02.13 08:47 Сейчас в теме
9. rus128 2 27.02.13 12:58 Сейчас в теме
"изгиб углом он вас" - это как?
10. venger 2124 27.02.13 13:15 Сейчас в теме
(0) Вы в курсе что больше семи раз не сложишь в реальности?)))) Любой размер любой бумаги)))
13. Ibrogim 1327 27.02.13 14:10 Сейчас в теме
(10) venger,
Вы в курсе что больше семи раз не сложишь
Для этого и нужна обработка )
14. venger 2124 27.02.13 14:23 Сейчас в теме
(13) Значит я не понял суть обработки, как она может это показать? Если в двух словах? я так понял она может до бесконечности строку формировать, плоскость то в математике толщины не имеет))))
19. ildarovich 7930 27.02.13 16:06 Сейчас в теме
(10) Видел телепередачу, где устанавливали рекорд числа сложений очень длинного рулона бумаги. Речь шла о 10-ти или 11-ти сложениях.
20. venger 2124 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 2124 27.02.13 14:24 Сейчас в теме
+14, точку можно по идее математически до бесконечности пополам складывать)))
16. kapustinag 27.02.13 14:35 Сейчас в теме
Я тоже из описания публикации мало что понял. Если в Рарусе на собеседовании такими же словами ставят задачу, то у них просто бешеный отсев должен быть. Наверно, смысл этой задачи на собеседовании не в том, чтобы кандидат ее решил, а чтобы он ее хотя бы понял. Если проблеск понимания в глазах появился - наш человек, берем!
А я, получается, "не наш".
Steelvan; +1 Ответить
17. iov 407 27.02.13 14:39 Сейчас в теме
(16) Есть рациональное зерно в тесте тогда. Развитие телепатических навыков у программистов - основная проф обязанность.
shard; Manoshkin; Steelvan; +3 Ответить
18. ildarovich 7930 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 7930 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 1327 28.02.13 13:30 Сейчас в теме
(25) Тут не все понимают условие... а вы
Можно ли короче?

p.s. моё (первое пришедшее в голову) решение с двумя циклами и списком значений не только длиннее вашего, но и работает в 4 раза медленнее(на 10 сгибах)
29. mikhailovaew 127 18.03.13 14:03 Сейчас в теме
(25) ildarovich, снимаю шляпу! у меня получился алгоритм с двумя функциями, наподобие топикстартеровского.
Кстати, Sbelyi78, в выкладываемых творениях код все же лучше "причесывать", а то неаккуратно как-то...
34. ne_en 84 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 7930 23.06.15 13:16 Сейчас в теме
(34) ne_en, в комментарии /13/ к статье Минимализмы приведено еще более короткое решение от AWA. Вот оно
функция г(ё,н=0)return?(ё,г(ё-1)+н+г(ё-1,1),"")endfunction
21. venger 2124 27.02.13 16:18 Сейчас в теме
Господа, пошарьте у себя в офисах бумагу, поскладывайте, тогда сразу все вопросы отпадут))))
22. venger 2124 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 Сейчас в теме
Днёмсогнём-вечеромразогнём! )
Оставьте свое сообщение