Loading...

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

petar.petrov avatar petar.petrov 37 Точки

Решаване на проблеми за развиване на логическо мислене

Здравейте,

Споделям този пост с надеждата, че повече хора ще имат желанието, да развиват своето логическо мислене, чрез решаване на проблеми. Доброто логическо мислене - качество, което според мен, отличава успешният програмист от рутинният.

Ето и първият проблем :  "How to cross the river ?"

A farmer with a fox, a goose, and a sack of corn needs to cross a river. The farmer has a rowboat, but there is room for only the farmer and one of his three items. Unfortunately, both the fox and the goose are hungry. The fox cannot be left alone with the goose, or the fox will eat the goose. Likewise, the goose cannot be left alone with the sack of corn, or the goose will eat the corn.  How does the farmer get everything across the river ?


източник на проблема - книга "Think like a Programmer"

http://www.wowebook.com/book/think-like-a-programmer/

За тези от вас, които са срещали този проблем, решили са го, и вече не им е интересен, моля споделете някой друг от вашият опит.

12
Общи приказки
KirilVelichkov avatar KirilVelichkov 13 Точки
Японската е интересна но след 20 минути цъкане я реших :)
Ето и решението:
1. Полицаят и бандита.
2. Оставяш бандита сам и се връщаш с полицаят.
3. Взимаш полицаят и едно момче(или момиче няма значение, но аз го направих с момче).
4. Оставяш момчета и се връщаш с полицаят и бандита.
5. Взимаш бащата и едно момче.
6. Оставяш едното момче и се връщаш с бащата.
7. Взимаш майката и бащата.
8. Оставяш бащата и се връщаш с майката.
9. Взимаш полицаят и бандита и ги оставяш двамата.
10. Връщаш се само с бащата
11. Взимаш майката и бащата и оставяш бащата.
12. Връщаш се само с майката
13. Взимаш майката и едното момиче и ги оставяш и двете.
14. Връщаш се с полицаят и бандита.
15. Взимаш полицаят и последното момиче.
16. Оставяш ги двамата и се връщаш само с полицаят за да си прибера бандита :)

Съжалям, но по-просто неможах да го бясна.
Пробвайте го и кажете дали работи :)



3
petar.petrov avatar petar.petrov 37 Точки

Браво! Работи :) Добре, че престъпника е послушен и не избягва, след като е оставен сам на някой бряг.

Накрая всички са много щастливи, че са на отсрещният бряг. :))) 

0
Fleshian avatar Fleshian 379 Точки
Да тази наистина беше интересна и на мен  ми беше нужно около 15 мин но не е много трудна :)
0
petar.petrov avatar petar.petrov 37 Точки

Problem: What is the next letter in the sequence  O, T, T, F, F, S , S, E . . . ?

1
Annie avatar Annie 89 Точки

Следващата буква от поредицата е N, тъй като са взети първите букви от цифрите на английски:

O - one; T - two; T - three; F - four; F - five; S - six; S - seven; E - eight; N - nine

:)

5
wintersun1993 avatar wintersun1993 114 Точки

N.Тоест nine :) . 

Ето една от мен :

Ако: 1=4

       2=16

       3=48,

то   4= ? .

3
KirilVelichkov avatar KirilVelichkov 13 Точки

То 4 е равно на 1 , тъй като 1 е равно на 4 ;)

5
petar.petrov avatar petar.petrov 37 Точки

Много добра уловка ! :)) ... и никак не е за подценяване. 

Нека продължим в същото темпо :)

0
Fleshian avatar Fleshian 379 Точки

Иначе ако се продължи последователноста , следве че

1 = 2^2

2 = 2^3

3 = 2^4

4 = 2^5 .

Но уловкате е доста добра :)

0
petar.petrov avatar petar.petrov 37 Точки

Problem: Dollar bill

Three women check into a motel room that advertises a rate of $27per night.

They each give $ 10 to the porter, and ask her to bring back three dollar bills.

The porter returns to the desk, where she learns that the room is actually only $25 per night.

She gives $25 to the motel desk clerk, returns to the room, and gives the guests back each one dollar,

deciding not to tell them about the actual rate.

Thus the porter has pocketed $2, while each guest has spent 10 - 1 = $9, a total of 2 + 3 x 9 = $29.

What happened to the other dollar?

0
VenkoVisulchev avatar VenkoVisulchev 4 Точки
Нищо, това е уловката.
25+2+(3x1) = 30
1
ZvetanIG avatar ZvetanIG 907 Точки

Здравейте,

ето и от мен една задача, с която се сблъсках тези дни и върху която още мисля.

Всички естествени числа са разделени на "добри" и "лоши". Известно е, че ако числото А е "добро", тогава А+6 е също "добро", а ако В е "лошо", то В+15 е също "лошо". Възможно ли е сред първите 2000 естествени числа да има точно 1000 "добри" числа?

1
ivaylo.yanchev.5 avatar ivaylo.yanchev.5 80 Точки

Едно странично питане, но може би е за тази тема. Разглеждах изпитните задачи от 2013 и попаднах на една за играта крави и бикове:

Problem 3 – Bulls and Cows

All we love the “Bulls and Cows” game (http://en.wikipedia.org/wiki/Bulls_and_cows). Given a 4-digit secret number and a 4-digit guess number we say that we have b bulls and c cows when we have b matching digits on their right positions (bulls) and c matching digits on different positions (cows). Examples are given below:

Secret Number: 1481

Guess Number: 8811

Bulls: 1; Cows: 2

Secret Number: 2249

Guess Number: 9924

Bulls: 0; Cows: 3

Given the secret number and the number of bulls and cows your task is to write a program to find all matching guess numbers in increasing order.

Може да я видите тук - 3-та задача, Вариант 1: http://telerikacademy.com/Courses/Courses/Details/81

Естествено отворих уикипедия, за да си припомня правилата и се оказа, че в тази игра в числата не може да има повтаряне на цифри. Демек, една цифра или е крава, или е бик или я няма. Пък в тази задача нещо е объркано, как така в първия пример 1 е и крава и бик, а 8 е само крава, като си я казал 2 пъти в Guess Number (не трябва ли да са 2 крави за 8). Изобщо, логиката нещо я изпуснах, а това хич не е добре в програмирането. :) Имате ли някакви насоки?

0
Samuil.Petrow avatar Samuil.Petrow 1550 Точки

Това за повтарянето не го гледай, тук имплементацията явно е различна. Иначе не са 2 крави, защото няма 2 осмици, когато си определиш, че едната 8ица е крава, осмицата в secret number оттук натам се игнорира и все едно, че вече не съществува и при втората проверка за 8ица - нямаме нито бик, нито крава.. Надявам се добре да съм го обяснил :)

п.п: В първия пример 1 е и крава и бик, защото имаме бик на позиция 4 и имаме още една 1ица, която се явява крава :)

0
ivaylo.yanchev.5 avatar ivaylo.yanchev.5 80 Точки
Има смисъл наистина, но ако не бяха примерите аз лично щях да се объркам. А прав си, че НЕповтарянето на цифри е пропуснато нарочно. :) Просто гледайки и кода, останах с впечатление, че заданието е писано по вече направеното решение.
0
FeraL.GoD avatar FeraL.GoD 6 Точки

Предполагам, че повечето от вас са виждали това, но все пак. Идеята е да пресечете всички точки с 3 прави линии, без да прекъсвате линията (ако го чертаете с химикал, без да вдигате химикала от листа). Може би сте виждали подобния вариант с 4 линии, не става въпрос за него, но ако искате дайте и решението с 4 линии, току виж някой го е направил по начин за който аз лично не съм се сетил. Но този вариант с 3-те линии е малко по специален. Много добра идея за тема

2
dentia avatar dentia 362 Точки
3
FeraL.GoD avatar FeraL.GoD 6 Точки
dentia правилно :D макар че при мен бяха по следния начин....Наклони си главата с 45 градуса наляво и ще видиш как ги реших аз :D Ако някой се сети за още накакъв начин да го качва :)
0
dentia avatar dentia 362 Точки
Великите умове мислят еднакво... приблизително, хаха.
0
petar.petrov avatar petar.petrov 37 Точки

Problem: Lightbulb

 

You are in the downstairs lobby of a house. There are three switches, all in the
"off" position. Upstairs, there is a room with a lightbulb that is turned off. One and
only one of the three switches controls the bulb. You want to discover which switch
controls the bulb, but you are only allowed to go upstairs once.

 

How do you do it?


(No fancy strings, telescopes, etc. allowed. You cannot see the upstairs room from
downstairs. The lightbulb is a standard 100-watt bulb.)

 

0
VenkoVisulchev avatar VenkoVisulchev 4 Точки

   Готина загадка. smile Зададох подобна (с три крушки) на колегите миналата събота, така че знам отговора, но ще се въздържа за да може и други хора да си опитат силите. cool

 

1
vania91991 avatar vania91991 1 Точки

...

1
12/07/2015 15:24:06
petar.petrov avatar petar.petrov 37 Точки

Загубил е животът си, т.е. починал е ? 

 

PS: ... или може би, по-удачният отговор за кандидатстване в софтуерна компания е, че му е изгорял хард дискът, a e нямал back-up. :) 

0
VenkoVisulchev avatar VenkoVisulchev 4 Точки

   Проиграл е парите си в казиното на хотела. На другия ден природно бедствие (земетресение/ цунами/ торнадо) е разрушило имотите му, а в следствие на бедствието стоковата борса е отбелязала рекорден спад, който е обезценил всичките му акции.

0
vania91991 avatar vania91991 1 Точки

...

0
12/07/2015 15:24:59
petar.petrov avatar petar.petrov 37 Точки

Problem: You leave your house, travel one mile due south, then one mile due east, then
one mile due north. You are now back at your house ! Where do you live? There is
more than one solution; find as many as possible.

0
VenkoVisulchev avatar VenkoVisulchev 4 Точки

You live at either the North or the South magnetic pole.

1
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.