|
Страници по тази тема: 1 | 2 | >> (покажи всички)
Тема
|
Все пак нещо трябва да се пише...
|
|
Автор |
Пaлячo () |
Публикувано | 22.05.02 16:42 |
|
в този клуб, нали......
Имаме една 5-литрова и една 3-литрова туба и чешма:)
Как да напълним 4 литра вода?
| |
Тема
|
Re: Все пак нещо трябва да се пише...
[re: Пaлячo]
|
|
Автор |
Orнeдишaщ (Змей) |
Публикувано | 22.05.02 16:56 |
|
1. Пълним 5 литра в голямата туба.
2. Отливаме от тях 3 литра в малката.
3. Изливаме малката.
4. Прехвърляме останалите 2 литра от голямата в малката туба.
5. Пълним 5 литра в голямата туба.
6. Отливаме от тях 1 литър в малката (докато я допълним).
В голямата туба има 4 литра.
| |
Тема
|
Re: Все пак нещо трябва да се пише...
[re: Orнeдишaщ]
|
|
Автор |
Пaлячo () |
Публикувано | 22.05.02 17:04 |
|
:)))
Много се чудех дали да не напиша че ти, Недев и Independent нямат право да пишат по тази тема ...ама щеше да прозвучи като дискриминация, пък то не е така....:)
| |
Тема
|
Re: Все пак нещо трябва да се пише...
[re: Пaлячo]
|
|
Автор |
lndependent (crash) |
Публикувано | 22.05.02 17:17 |
|
кат' стана дума за Independent, направо ме амбицира .
та ето още едно решение:
1. наливаме в малката 3л и ги пресипваме в голямата (туба де)
2. наливаме в малката още 3л и 2 от тях ги пресипваме в голямата. сега в малката имаме 1л.
3. изливаме голямата и пресипваме в нея оня 1л, който остана в малката.
4. наливаме в малката още 3л, сипваме ги в голямата и там вече има 1 + 3 = 4л.
та колко трябваше да налеем, че нещо се увлякох ?
стой та гледай
| |
|
трябваше да разменим стойностите на две еднотипни числови променливи, без да използваме трета... ?
Щото гледам и в "програмисти" пишеш....
А, да...и в лингвистика. Как е на английски:
Вър, булка, наточи зелева чорба
Редактирано от Пaлячo на 22.05.02 17:40.
| |
Тема
|
Re: Все пак нещо трябва да се пише...
[re: Пaлячo]
|
|
Автор |
lndependent (crash) |
Публикувано | 22.05.02 18:23 |
|
CStack <SomeType> stack;
stack.push(a);
stack.push(b);
stack.pop(b);
stack.pop(a);
или пък:
_asm
{
push a
push b
pop b
pop a
}
тъй де, на Ц++
"woman, draw some cabbage juice"
ъъъ сори, пак се отнесох
стой та гледай
| |
|
Айде сега хитринки. Като казах да не се използва трета променлива нямах предвид да се използва със същата цел стека, клипборда или друга част от паметта (или диска). Задачката е по-скоро логическа и не е свързана с конкретен език за програмиране. Номера само с аритметични или логически операции да ги размениш...просто е.
| |
|
Грешка!
push a
push b
pop a
pop b
Без стек:
a += b;
b += a;
a = b - a;
b -= 2 * a;
Признавам, това не е много чист начин. Ако числата са близо до максималните / минималните стойности за съответния тип, ще стане гаф.
Държа да изразя своето дълбоко възмущение от злонамерения опит на Палячо да ми наложи ембарго и по такъв начин да потъпче основните ми човешки и други права, прилагайки към мен дискриминация! Заявявам, че тези недостойни инсинуации ще бъдат осъдени с цялата нужна строгост!!! ;-))
Редактирано от Orнeдишaщ на 23.05.02 09:54.
| |
Тема
|
Re: Все пак нещо трябва да се пише...
[re: Orнeдишaщ]
|
|
Автор |
Пaлячo () |
Публикувано | 23.05.02 13:07 |
|
така е. синтаксиса на С ми е малко неприятен, но е така...или
a=a+b
b=a-b
a=a-b
със съответната забележка за препълването....или с логически операции
a=a xor b
b=a xor b
a=a xor b
P.S. Функцията xor сравнява бит по бит двете променливи и ако са еднакви (битовете) връща 0, ако са различни връща 1. Използва се при криптиране
| |
Тема
|
Re: Все пак нещо трябва да се пише...
[re: Пaлячo]
|
|
Автор |
Orнeдишaщ (Змей) |
Публикувано | 23.05.02 13:43 |
|
Да бе, ама че съм тъп...
С xor не може нищо да се препълни.
| |
|
Страници по тази тема: 1 | 2 | >> (покажи всички)
|
|
|