Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

Perl6 — Операции над переменными, анонимные блоки

Perl *Программирование *
1. Особенности работы с переменными и литералами в Perl6
В предыдущей статье я описывал особенности работы с переменными, а также затронул контексты. В данной статье, я хочу поделиться результатми своих экспериментов и поисков на тему использования переменных, а также коротко описать особенности анонимных блоков кода.
Приступим

Читать дальше →
Всего голосов 19: ↑16 и ↓3 +13
Просмотры 6K
Комментарии 8

Ооочень длинное целое

Занимательные задачки Алгоритмы *Microsoft Access *Visual Basic for Applications *
Накатал небольшую библиотечку для арифметических операций над натуральными числами любой длины. Поскольку писалось на Visual Basic for Applications (VBA), встроенном в Excel, переопределить операции + — * / не получилось, и все решается через вызов функций с 2-мя аргументами вида

Function LongADD(s1 As String, s2 As String) As String

Зато можно вызывать функции (или их комбинации) прямо из ячеек экселовского листа – все наглядно и понятно. И да, натуральные числа передаются как строки. Максимальная длина строки в VBA равна примерно 231 = 2 147 483 648 (посчитано моей функцией LongPower(«2», 31)), так что на поиграться с разными штуками хватит вполне.

Для примера – умножение двух простых чисел из эпохальной статьи Ривеста, Шамира и Алдемана, откуда пошла вся современная криптография (в коде это константы RSA1, RSA2)



Под катом – код на VBA, его можно просто вставить в модуль Excel-овского файла с поддержкой макросов (типа *.xlsm).

P.S. не пробуйте использовать код для всяких конкурсов по разложению на простые множители. Он хоть и понимает числа с двумя миллиардами значащих цифр, но безумно медленный для таких задач.
P.P.S. если все же что-то получится, 10% выигрыша – мне
P.P.P.S. нет, лучше 15%

Читать дальше →
Всего голосов 26: ↑8 и ↓18 -10
Просмотры 3.3K
Комментарии 6