Archive for August, 2013


Компания на име Dapper Vision работи по проекта  OpenGlass, система от помощни средства и инструменти, които могат да помогнат да се идентифицират обекти както и да се види допълнителна информация за тях през гугъл очилата.Изображение

Във видеото по-долу ще видите две от функциите на OpenGlass, които могат да помогнат на хората с увредено зрение или на който и да било друг да идентифицира и получат информация за даден обект. Първата функция е от типа въпроси-отговори където потребителя прави снимка на предмета която се праща Twitter или в Amazon’s Mechanical Turk където предмета се индетифицира и се връща гласово съобщение обратно към потребителя. Втората е функция е подобна на първата с тази разлика, че се създава база данни на снимки на предмети заедно с коментари, които се използват при идентифицирането на обекта.

 

Advertisements

Здравей Свят! Това  е може би първата частица код която е написал всеки начинаещ програмист и реших и аз така да започна моят първи пост.

Като човек който никога не се беше сблъсквал с програмирането установих, че ми е доста трудно да разбирам програмната логика и за това когато имам време разглеждам логически задачи и се натъкнах на една такава, която не толкова трудна колкото интересна. За пръв път чувам за тези числа и ми стана доста интересно за тях. В реалността задачата не може да има решение тъй като все още не измислен алгоритъм или машина която да може да направи толкова много изчисления поне аз така разбрах от прочетеното. Ето я и задачата и малко информация за откривателя на числата:

Ако вземе числото 47 и го обърнем на обратно и съберем тези две числа, 47 + 74 = 121, се получава палиндром. В някои случай обаче не винаги това става толкова бързо. Например,

349 + 943 =1292,

1292 + 2921 = 4213,

4213 + 3124 =7337

Тук направихме 3 итерации докато постигнем палиндром.

Въпреки че никой не го е доказал се предполага че някой числа  никога не достигат до палиндром. Този процес понякога се нарича 196-алгоритъм наречен така заради най-известното число което се асоциира с този процес. Името „Lychrel” е измислено от Уейд Ван Ландингам като анаграма на „Cheryl“, неговата приятелка.

Задачата ни е да намерим всички „Lychrel” числа под 10 000.

Ще приемем че числото е „Lychrel” ако е станало палиндром с по-малко от 50 итерации всъщност първото число  на което са му трябвали повече е 10677 : 4668731596684224866951378664 (53 итерации, 28-цифри). Също така има и числа които са палиндроми и същото време  „Lychrel”, 4994.

Задачата по същество не е трудна и за това само ще опиша стъпките:

-заради големината на числата избрах да ползвам BigInteger

-правя си 3 метода:

– метод за обръщане на числата, като ползвам масив от чарове и Array.Reverse(number)    и парсвам обърнатото число към BigInteger.

-булев метод който проверява дали числото е палиндром

-булев метод който проверява дали числото е „Lychrel”, в който с помощта на 1 for цикъл събирам числото с обърнатото като съм го направил да прави 50 итерации. След това с помощта на булевия метод за палиндром връщам всички числа който не са палиндроми.

– в Main() имам цикъл който проверява всички числа от 10-10 000 с помощта на „Lychrel” метода.

– и отговора който открих е че съществуват 249 такива числа.