Как это попало в поток «разработка» или спасибо Гуглу за предоставленную возможность обратиться к программистам

в 9:35, , рубрики: Google, Алгоритмы, задачи для программистов, задачи на смекалку, Занимательные задачки, маркетинг, математика, Программирование, реклама

Я бы очень хотел быть программистом, но, к сожалению, я маркетолог, которого каким-то образом занесло в аспирантуру Луизианы грызть гранит науки эконометрики. Да, я неплохо знаю математику, потихоньку осваиваю R и даже весьма сносно умею прогнозировать временные ряды с помощью разнообразных ARIMA моделей. Тем не менее, программист из меня ну вообще никакой.

Но на моих часах 2:22 ночи, а значит пора переходить ближе к делу. Так сложилось, что я учился в лицее, из которого ну просто все получались программистами и/или крутыми айтишниками. Множество хорошо знакомых мне выпускников работает в крупных компаниях вроде Гугла, Фейсбука и Амазона, кто-то уверенно чувствует себя в локальных командах, кто-то запускает свои проекты, а кто-то, вроде viktor_sytnik побеждает в мировых командных соревнований по кибербезопасности.

То есть вот эта вот братия программистов постоянно окружает меня на протяжении всей моей сознательной жизни (спасибо им за это). А я, как назло, просто маркетолог. Маркетолог, которого никогда не перестает умилять отношение многих айтишников к маркетингу в любых его проявлениях.

Реклама в соцсетях? — Есть же АДБЛОК! СЕО? — Вы своим гавном весь интернет замусорили! Оффлайн реклама? — Да кто сейчас смотрит на эти ваши биллборды? Вот и прошлая статья о уязвимости ВК не обошлась без подобных комментариев.
image
А пока под катом вы будете решать задачку от Гугла, которую компания использовала в качестве нестандартной рекламной кампании для привлечения талантливых разработчиков в свои ряды, я постараюсь изменить ваше мнение о маркетинге.

История стара как мир (на самом деле датирована 2004 годом). Но пользуясь случаем, что русскоязычный сегмент интернета не особо её осветил, я постараюсь вкратце пересказать вам суть челленджа.

Однажды на просторах Кремниевой Долины оказался вот этот билборд: image

Забегая вперед, отмечу, что таким образом компания Гугл решила сэкономить на своих HR затратах (захантить талантливого программиста и у нас достаточно непросто, а в Штатах — тем более. Это дорого. Очень дорого), а заодно пополнить штат парочкой талантливых разработчиков.

Задачка весьма неплохо зашла программистам (которые, конечно же, не подвержены влиянию рекламы) и история с загадочным билбордом разлетелась по всем Штатам. Я предлагаю вам попробовать решить задачку самостоятельно, но на всякий случай ниже приложу реализацию на языке java, которую я подсмотрел в одном англоязычном блоге. Надеюсь вы меня простите, ведь как вы помните, я все-таки не программист, а выбранный перечень хабов необходимо чем-то подкрепить.

Решение

Для нахождения числа Эйлера автор использовал формулу:image
На каждой итерации цикла (вот сейчас на меня посыпятся камни) он рассчитывал новое число, прибавляя к нему 1/Facorial(n). После этого идет еще один цикл, работающий с дробной частью e, отбирающий 10 цифр подряд на каждой итерации и проверяющий, является ли полученное 10-тизначное число простым.

import java.math.BigDecimal;
import java.math.MathContext;

public class EulersNumber {
public static void main(String[] args) {
BigDecimal e = BigDecimal.ONE;
BigDecimal bigDecimal = BigDecimal.ONE;

for(int i=1;i<100;i++) {
bigDecimal = bigDecimal.multiply(new BigDecimal(i * 1.0 + ""));
e = e.add(new BigDecimal(1.0 + "").divide(bigDecimal, new MathContext(10000)));
}

String strDecimalPart = (e + "").substring(2);

for(int i=0;i<strDecimalPart.length()-10;i++) {
long num = Long.parseLong(strDecimalPart.substring(i,i+10));
if(isPrime(num)) {
System.out.println("First 10 digit prime number in the decimal part of e : " + num);
break;
}
}
}

public static boolean isPrime (long n) {
if (n<=1) return false;
if (n==2) return true;
if (n%2==0) return false;
long m = (long) Math.sqrt(n);

for (long i=3; i<=m; i+=2)
if (n%i==0)
return false;

return true;
}
}

Источник

Решив первую часть головоломки энтузиасты попадали на сайт, где их ожидала еще одна задача:
f(1) = 7182818284
f(2) = 8182845904
f(3) = 8747135266
f(4) = 7427466391
f(5) = ???

Решение

Обратив внимание на цифры, можно заметить, что все они являются составными частями числа e. Первая часть начинается со второго символа, вторая с 6го, третья с 24, четвертая с 100го: 2718281828459045235360287471352662497757247093699959574966967627724076630353547594571382178525166427427466391
Если потратить несколько часов на решение задачи, можно заметить, что все гениальное, как всегда, просто:
7+1+8+2+8+1+8+2+8+4 = 49
8+1+8+2+8+4+5+9+0+4 = 49
8+7+4+7+1+3+5+2+6+6 = 49
7+4+2+7+4+6+6+3+9+1 = 49

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

Не спешите подглядывать ответ, подумайте. А пока вы думаете, я вернусь к маркетингу. Спустя несколько лет, после того, как компания Гугл отработала крутую маркетинговую фишку для поиска программистов, другая известная компания — Uber — начинала свое становление на рынке пассажирских перевозок. Я не знаю, известен ли вам факт, что так называемыми early adopters убера были именно гики, на которых в очередной раз не подействовала маркетинговая уловка компании, предлагающая бесплатные поездки по городу всем участникам гиковских конференций на которых собирались жители различных городов.

В то же время, именно с неудачной маркетинговой стратегией можно связать историю краха компании Borland, которая была настоящим героем своего времени, подарив нам такой тёплый и ламповый ТурбоПаскаль. В Borland была целая линейка доступных продуктов, ориентированных на масс-маркет, благодаря которым компания прочно держалась на ногах, но совет директоров решил перейти в сторону энтерпрайс, которая требовала совершенно другого продуктового (и в том числе маркетингового) подхода, неизвестного Borland. Кстати, бесплатное распространение продуктов среди студентов вузов (вроде того же Паскаля и Делфи), являлось весьма неплохим маркетинговым решением, которое помогало подсаживать ребят на свои продукты еще со «школьной скамьи».

Подобных примеров — масса. Да и давайте отойдем от айти. Каждый из нас старается неплохо одеваться, иногда отдавая предпочтение определенным маркам, просто потому, что они клевые; вкусно и полезно питаться (и часто, индикатором качества продуктов является хорошая упаковка, рекламная подача подчеркивающая пользу и «экологичность», цена — мало кто из нас относит купленные продукции на экспертизы, чтобы убедиться в их пользе, не так ли?); отвести жену/девушку/друга в кафе, да и просто сходить в киношку. Маркетинг окружает нас повсюду. Более того, я действительно считаю, что реклама — своеобразный двигатель прогресса.

Безусловно, чтобы добиться успеха желательно иметь хороший качественный продукт. Однако клише о том, что хороший продукт сам себя продает — ошибочно на все сто процентов. Этот мир видел столько клевых и крутых проектов (особенно стартапов), которые обладали невероятными командами разработчиков, крутейшими идеями и продуктами, но тем не менее, с треском проваливались на рынке, в том числе под влиянием более «отсталых и нереволюционных» компаний, с более дальновидной стратегией.

Да и к тому же, практически каждый знает и понимает (здесь должна была быть шутка об отечественной политике, но её не будет), что рабочие места, желательно с достойными условиями труда, являются невероятным стимулом для развития экономики. Но какое предприятие может обеспечивать создание рабочих мест, если их продукт не продается на рынке?

Сбыт является такой же важной частью деятельности компании, как и его разработка (в том числе, когда речь идет о програмных продуктах). И я надеюсь, что вы не будете это отрицать. А всевозможные маркетинговые инструменты, включая сео, контекстную рекламу и медийную рекламу, соцсети, радио, телевидение, билборды, флаера, и даже эти ужасные объявления на двери подъезда — являются лишь точечными шагами на пути реализации общей стратегии. Каждый из которых играет достаточно весомую роль.

Сейчас 4:07. С момента начала написания этой заметки прошел один час и сорок пять минут. И всё это ради того, чтобы пригласить вас обратить внимание на поток Маркетинг или подписаться на мой профиль на Хабре, чтобы не пропустить цикл из 60 статей, из которых я постараюсь слепить цельное и конечно же бесплатное руководство о комплексном (особенно онлайн) продвижении. Во время этого 60-статейного марафона, я попробую рассказать вам не только о «теоретических» концепциях, но и о том, как мы успешно выводили проект на Кикстартер, о том, как я стал владельцем супермаркета в Крыму, и что из этого вышло, о том, как с помощью листовок, форумов и сайтиков мы продавали написанную на коленке программу на Делфи, ну и особенно о том, что происходит сейчас на рынке интернет-рекламы, включая разнообразные фишки и лайфхаки вроде раз и два, которые помогут сэкономить ваш бюджет, если вам когда-нибудь придется заняться продвижением своего дела в сети.

К сожалению, маркетинг — одна из немногих вещей, которые я умею неплохо делать в жизни. А вот с потоком Разработка придется попрощаться до тех пор, пока я таки не научусь программировать.

Автор: dennis777

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js