Результаты конкурса «Рождественская распродажа»
#конкурс
Итак, прошли выходные и я подвожу итоги конкурса. Всего прислано 72% решений на Java и 28% на Kotlin.
1) Java. Лучшие решения состоят из 47 символов. Таких решений было 3:
• return r>n?0:gamesCount(r-d>m?r-d:m,d,m,n-r)+1; — @smallcreep
• return n<m?0:gamesCount(r-d<m?m:r-d,d,m,n-r)+1; — @maxim_ivanov
• return n<r?0:r>m?1+gamesCount(r-d,d,m,n-r):n/m; — @warmouse
При помощи рандомайзера, победителем является @maxim_ivanov!
Отдельно хочу отметить решение автора @aIexmoran. Если предыдущие решения используют рекурсию, то решение автора нет. Это самое короткое решение без рекурсии — 48 символов.
• int i=0;while(m<=r){n-=r;r-=d;i++;}return i+n/m;
2) Kotlin. Тут было немного сложнее определить победителя.
В правилах я не указывал о том, что нельзя добавлять свои imports. С одной стороны, самым коротким было решение из 53 символов. Но также было решение из 58 символов, которое было похожим на короткое, но без импорта
• return if(n<r)0 else gamesCount(Math.max(r-d,m),d,m,n-r)+1 — @R1KUD0
• return if(r<=n)1+gamesCount(Math.max(r-d,m),d,m,n-r)else 0 — @Svyat
При помощи рандомайзера, победителем является @R1KUD0!
Ссылки на видео с использование рандомайзера тут и тут.
Напоминаю, что победители получат книги Егора Бугаенко «Elegant Objects»
Большое спасибо всем участникам конкурса! Мне очень понравился подобный формат, поэтому мы обязательно к нему вернемся.
Как вам подобный формат?
#конкурс
Итак, прошли выходные и я подвожу итоги конкурса. Всего прислано 72% решений на Java и 28% на Kotlin.
1) Java. Лучшие решения состоят из 47 символов. Таких решений было 3:
• return r>n?0:gamesCount(r-d>m?r-d:m,d,m,n-r)+1; — @smallcreep
• return n<m?0:gamesCount(r-d<m?m:r-d,d,m,n-r)+1; — @maxim_ivanov
• return n<r?0:r>m?1+gamesCount(r-d,d,m,n-r):n/m; — @warmouse
При помощи рандомайзера, победителем является @maxim_ivanov!
Отдельно хочу отметить решение автора @aIexmoran. Если предыдущие решения используют рекурсию, то решение автора нет. Это самое короткое решение без рекурсии — 48 символов.
• int i=0;while(m<=r){n-=r;r-=d;i++;}return i+n/m;
2) Kotlin. Тут было немного сложнее определить победителя.
В правилах я не указывал о том, что нельзя добавлять свои imports. С одной стороны, самым коротким было решение из 53 символов. Но также было решение из 58 символов, которое было похожим на короткое, но без импорта
java.lang.Math.*
. Принял решение, что было бы несправедливым не отметить автора второго решения. Поэтому, я считаю, что самыми короткими решениями на Kotlin — это решения из 58 символов. Под критерии подходят 2 решения:• return if(n<r)0 else gamesCount(Math.max(r-d,m),d,m,n-r)+1 — @R1KUD0
• return if(r<=n)1+gamesCount(Math.max(r-d,m),d,m,n-r)else 0 — @Svyat
При помощи рандомайзера, победителем является @R1KUD0!
Ссылки на видео с использование рандомайзера тут и тут.
Напоминаю, что победители получат книги Егора Бугаенко «Elegant Objects»
Большое спасибо всем участникам конкурса! Мне очень понравился подобный формат, поэтому мы обязательно к нему вернемся.
Как вам подобный формат?