Премини към съдържанието

Препоръчан отговор


Здвравейте, попадна ми 1 интересна(поне за мен) задачка,за която обаче не мога да се сетя някакво решение. Условието е " Последователно се въвеждат краен брой числа. Знаем, че измежду въведените числа само едно ще е уникално, а останалите ще се срещат по два пъти. Да се намери уникалното число.". Няма право да се ползват масиви и се очаква да се направи с някакви базови знания и побитови операции. Ако някой има идея за решението моля да сподели :)

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Няма как да стане иначе. Целта е да се въведат числата и брояч да проверява всяко едно от тях дали се среща един път или повече от един път и тогава да се отпечата отговора. 

Не знам що за простотия е да се правят такива задачи след като вече е измислен метод.

Сподели този отговор


Линк към този отговор
Сподели в други сайтове
преди 7 часа, Емил Костов написа:

Няма как да стане иначе.

Мислиш ли? А в условието на задачата даже са го и подсказали, ако питаш мен, направо са си казали, как трябва да се направи...

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

И къде са го казали? " Последователно се въвеждат краен брой числа. Знаем, че измежду въведените числа само едно ще е уникално, а останалите ще се срещат по два пъти. Да се намери уникалното число. "

Сподели този отговор


Линк към този отговор
Сподели в други сайтове
преди 32 минути, ined написа:

И къде са го казали? "

 

преди 11 часа, RandomGuy написа:

 и побитови операции.

 

Побитови операции при търсене на число в поредица??? Че това свети като маяк. Ти кога си ползвал побитови операции в подобен случай? И оттук не е трудно да се сети човек, коя точно побитова операция трябва и как да се ползва.

Редактирано от flare (преглед на промените)

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Никога не съм ползвал побитова операция за търсене, иначе се досещам какво имаш в предвид,

Ако натрупваме числата с изключващо ИЛИ накрая ще остане само числото което се среща само един път.

Сподели този отговор


Линк към този отговор
Сподели в други сайтове
преди 2 минути, ined написа:

Никога не съм ползвал побитова операция за търсене, иначе се досещам какво имаш в предвид,

Ами точно това казвам. Никога. И изведнъж ей така помежду другото - базови знания и побитови операции - ни в клин, ни в ръкав.

И да, точно така се решава.

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Мисля, че разбрах благодаря за отговорите. И само да кажа, че  "базови знания и побитови операции" не е от условието, а аз го казах, защото задачата е дадена на хора които тепърва започват с програмирането и просто мислих, че няма друг начин овен побитови :) 

Сподели този отговор


Линк към този отговор
Сподели в други сайтове
преди 1 минута, RandomGuy написа:

просто мислих, че няма друг начин овен побитови :) 

Е, направо не е истина тогава :D.

Ама направо ме изумява начинът ти на мислене. Ако си мислел че няма друг начин, то колко такива начина има? Все нещо си трябва да си имал предвид, и не мога да си представя как може да не се сетиш.

Сподели този отговор


Линк към този отговор
Сподели в други сайтове
преди 31 минути, flare написа:

Е, направо не е истина тогава :D.

Ама направо ме изумява начинът ти на мислене. Ако си мислел че няма друг начин, то колко такива начина има? Все нещо си трябва да си имал предвид, и не мога да си представя как може да не се сетиш.

Искам да кажа, че тъй като задачата се дава на хора учили само побитови, цикли,масиви и четене от клавиатурата няма какво друго да е ,като забранят масивите освен побитови. Това ми беше идеята :Д

Редактирано от RandomGuy (преглед на промените)

Сподели този отговор


Линк към този отговор
Сподели в други сайтове
току-що, RandomGuy написа:

Искам да кажа, че тъй като задачата се дава на хора учили само побитови, цикли,масиви и вход и изход от клавиатурата няма какво друго да е ,като забранят масивите освен побитови. Това ми беше идеята :Д

Разбрах, но това не намалява изумлението ми че щом си знаел че се ползват побитови не си се сетил как точно. Те са 4 операции, от тях една е унарна, други две са lossy, какво остава неговата кожа?

Сподели този отговор


Линк към този отговор
Сподели в други сайтове
преди 1 минута, flare написа:

Разбрах, но това не намалява изумлението ми че щом си знаел че се ползват побитови не си се сетил как точно. Те са 4 операции, от тях една е унарна, други две са lossy, какво остава неговата кожа?

Имам  дупка в знанията за побитови, която се опитвам да запълня,колкото и да е странно тъй като това са основи в програмирането.

Сподели този отговор


Линк към този отговор
Сподели в други сайтове
преди 13 минути, RandomGuy написа:

Имам  дупка в знанията за побитови, която се опитвам да запълня,колкото и да е странно тъй като това са основи в програмирането.

Основи са, ако пишеш на асемблер. На C ако пишеш за PC (т.е. не те интересуват хардуерни регистри и такива) може да не ги ползваш никога.

Сподели този отговор


Линк към този отговор
Сподели в други сайтове
току-що, flare написа:

Основи са, ако пишеш на асемблер. На C ако пишеш за PC (т.е. не те интересуват хардуерни регистри и такива) може да не ги ползваш никога.

Знам не са ми трябвали почти никога, но дойде момент в който ми дадоха няколко задачи с побитови операции и трябва да запълня празнини :Д

Сподели този отговор


Линк към този отговор
Сподели в други сайтове
преди 8 минути, RandomGuy написа:

Знам не са ми трябвали почти никога, но дойде момент в който ми дадоха няколко задачи с побитови операции и трябва да запълня празнини :Д

Това означава че имате много да учите за алгоритми. И това е основата на програмирането. Аз успях да се сетя как точно да се направи операцията прочитайки само горния пост (над вашия) а аз не съм програмист

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Добавете отговор

Можете да публикувате отговор сега и да се регистрирате по-късно. Ако имате регистрация, влезте в профила си за да публикувате от него.

Гост
Напишете отговор в тази тема...

×   Вмъкнахте текст, който съдържа форматиране.   Премахни форматирането на текста

  Разрешени са само 75 емотикони.

×   Съдържанието от линка беше вградено автоматично.   Премахни съдържанието и покажи само линк

×   Съдържанието, което сте написали преди беше възстановено..   Изтрий всичко

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Добави ново...

Информация

Поставихме бисквитки на устройството ви за най-добро потребителско изживяване. Можете да промените настройките си за бисквитки, или в противен случай приемаме, че сте съгласни с нашите Условия за ползване