Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2004.03.14;
Скачать: [xml.tar.bz2];

Вниз

задачки   Найти похожие ветки 

 
ламер на ножках   (2004-02-19 09:43) [0]

1. Иван дурак хочет замочить Змея Горыныча. У змея n голов и m хвостов. За один удар Дурак может отрубить не более двух голов и неболее двух хвостов. при этом если отрубить один хвост вырастет два новых, если отрубить сразу двах хвоста вырастет одна голова, если отрубить одну голову она вырасте заново, а если отрубить две головы ... ничего нового не вырастет. Иван хочет отрубить все головы и хвосты, помогите ему это сделать.
Например у змея две головы и три хвоста. Надо отрубить один хвост, после чего их станет четыре, затем парами отрубить хвосты, вырастет еще две головы, теперь можно срубить парами все четыре головы. Помогите порешить змея.

2. У пети есть n кубиков, он выложил их в ряд. После этого Вася несколько раз переставил в обратном порядке несколько последовательно лежащих кубиков. Чтобы не запутаться, вася на на каждом шаге кроме первогопереворачивает только кубики ,которые были перевернуты на предыдущем этапе (необязательно все). Пусть кубики пронумерованы числами от 1 до n в том порядке в котором их петя исходно выложил. Выясните в каком порядке будут лежеть кубики после манипуляций Васи.
Например исходно было 10 кубиков, вася последовательно переставил в обратном порядке кубики с 1 по 7, со 2 по 5 и с 3 по 5. Тогда кубики будут лежать так: 7,6,2,5,4,3,1,8,9,10.

задачи несложные, но уменя нет компа, что бы их написать, пожалуста помогите исходничком, желательно чтоб языком был паскаль,


 
ручки от ламера   (2004-02-19 10:06) [1]

>задачи несложные, но уменя нет компа, что бы их написать

А бумага с ручкой есть ? Напиши. Потом запость сюда, мы проверим.


 
Ega23   (2004-02-19 10:07) [2]

А зачем тебе исходничек, если компа нет?


 
TUser   (2004-02-19 10:07) [3]

1. Надо привести все к ситуации, когда четное число голов и 0 хвостов. Тогда можно спокойно порубиться. Вот. Соотв. хвосты надо конвер=тировать в головы. Очевидно, что любое число хвостов можно превратить в головы - если число хв. нечетное, то один хвост рубим - получаем четное число хв-в. Четное число хвостов рубится и вырастает нужное число голов. Если исходно голов было четное кол-то, то надо рубить хв-ты до тех пор, пока их не станет 4x (тогда, после их срубания число голов останется четным). Т.е. надо срубить 4х-m<4 хвостов. Потом все их срубить попарно. Потом срубить головы парами. Если исходное число голов неячетное, то очевидно надо срубить 2(2х+1)-m<4 хвостов, а дальше все повторяется как надо.
На паскале
function Tails(n,m:integer);
var i:integer;
begin
if n mod 2 = 0 then begin
i:=m; while i mod 4<>0 do inc(i);
end else begin
i=m; while ((i/2) -1)mod2<>0 do inc (i);
end;
result:=i-m;
end;


 
TUser   (2004-02-19 10:09) [4]

function Tails(n,m:integer) :integer, конечно.


 
Defunct   (2004-02-19 10:35) [5]

1. Вот задачка с головами и хвостами ";>

procedure TForm1.Button1Click(Sender: TObject);
Var Heads, Tails, TotalHits : Integer;
S:String;

Procedure CutOffTail(Num:Integer);
Begin
If Tails>=Num Then
Begin
If Num = 1 Then Inc(Tails); //


 
Defunct   (2004-02-19 10:41) [6]

> задачи несложные, но уменя нет компа,

Йа-й, а за враки вторую задачку делать не буду.
Это ж как так нет компа, а в инет выход есть?


 
Danilka   (2004-02-19 10:48) [7]

гы-гы.
видать, этот, как его, супердайвер Леня залогинился без компа, напрямую..


 
Zacho   (2004-02-19 10:51) [8]

Еще вариант: может он просто пищит в телефон, "эмулируя" модем ? Но все равно без компа в инет - круто !!!
:)


 
Ega23   (2004-02-19 11:19) [9]

Нео среди нас. Он всё видит. Дайверы идут.


 
default   (2004-02-19 11:38) [10]

можно типа этого без циклов...
function Tails(n, m: Integer): Integer;
begin

Result := 0;
if Odd(n) then begin
if (m + 2) mod 4 <> 0 then Result := 4 * ((m + 2) div 4) + 2 - m
end else if (m mod 4) <> 0 then Result := 4 * (m div 4) + 4 - m

end;

TUser © (19.02.04 10:09) [4]
вроде бы во второй ветке ошибка, например, Tails(1, 3) возвращает 0


 
dr Tr0jan   (2004-02-19 12:11) [11]

Ну чё вы на человека накинулись: мож он в интернет-кафе сидит или в библиотеке (какого-нить ВУЗа - например ХГТУ ( http://www.khstu.ru)).

2 ламер на ножках (19.02.04 09:43) :

К сожалению ничем помочь не могу - времени нет. Но могу комментарий к первой задаче дать: Что если у змея 65535 хвостов, и при этом отрубить один хвост, то змей умрет, т.к. он 16-битный (написан на Паскале с использованием типа Integer).


 
DiamondShark   (2004-02-19 12:33) [12]


> К сожалению ничем помочь не могу - времени нет. Но могу
> комментарий к первой задаче дать: Что если у змея 65535
> хвостов, и при этом отрубить один хвост, то змей умрет,
> т.к. он 16-битный (написан на Паскале с использованием типа
> Integer).

Нет. Он просто останется без хвостов.


 
Юрий Зотов   (2004-02-19 12:53) [13]

> Иван дурак хочет замочить Змея Горыныча

И правда - дурак. Лучше бы чем-нибудь полезным занялся.


 
TUser   (2004-02-19 12:54) [14]

Он вернет 5, но это все равно не правильно. Надо так вот
while not ((i mod 2 = 0) and ((i/2-1) mod 2 = 1)) do inc (i);


 
default   (2004-02-19 12:56) [15]

TUser © (19.02.04 12:54) [14]
или короче while (m + 2) mod 4 <> 0 do inc (i);


 
TUser   (2004-02-19 13:44) [16]

Зациклится.


 
default   (2004-02-19 14:15) [17]

TUser © (19.02.04 13:44) [16]
забыл m на i заменить...
while (i + 2) mod 4 <> 0 do inc (i);


 
ламер на ножках   (2004-02-19 17:39) [18]

да не нео я я из школы на переменке...



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2004.03.14;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.012 c
14-43862
Style
2004-02-21 15:52
2004.03.14
Люди, а как крякнуть Norton Antivirus 2004?


14-43890
Думкин
2004-02-20 15:39
2004.03.14
С днем рождения! 20 февраля.


14-43796
Жук
2004-02-17 13:59
2004.03.14
Ура!!! Девушки-программисты существуют !


7-43925
ikivio
2003-12-22 11:50
2004.03.14
Повторный запуск при переключении пользователя


1-43578
Ш-К
2004-02-27 15:20
2004.03.14
Как из события передать указатель на объект в мой обработчик?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский