yms: (Default)
[personal profile] yms
Дан сишный код:

main()
{
       int i, N=20;
       for(i = 0 ; i < N ; i--)
               printf("*");
}

Найдите три способа поменять в этом коде один символ, чтобы в результате код печатал 20 звездочек.
Менять можно только по одному символу, ничего нельзя переставлять или передвигать.

Я не засекал время, сколько мне понадобилось, но, наверно, 10—15 минут...
upd: как оказалось, сам я один авторский вариант не нашел, а мой один был ошибочным.

Date: 2006-09-03 09:46 am (UTC)
From: [identity profile] dimrub.livejournal.com
А добавление символа считается заменой?

Date: 2006-09-03 10:00 am (UTC)
From: [identity profile] dimrub.livejournal.com
Впрочем, попробуем и так:

1. i-- -> N--
2. i = 0 -> i =40 (поменял пробел на 4)
3. ; i < N -> ;-i < N (поменял пробел на -).

Date: 2006-09-03 10:07 am (UTC)
From: [identity profile] panikowsky.livejournal.com
2 - неправильно.

Date: 2006-09-03 11:21 am (UTC)
From: [identity profile] dimrub.livejournal.com
Да, действительно. Тогда - вот так: "<" -> "+"

Date: 2006-09-03 11:24 am (UTC)
From: [identity profile] yms.livejournal.com
угу, это правильно. А я не нашел вариант с заменой пробела - думал, что третий с заменой "<" на "^".

Date: 2006-09-03 11:41 am (UTC)
From: [identity profile] panikowsky.livejournal.com
другое дело.

Date: 2006-09-03 10:52 am (UTC)
From: [identity profile] yms.livejournal.com
2 - он сразу выскочит из цикла.
3 - я этот вариант не учел... вариантов, похоже, есть четыре.
оставшиеся два (без замены пробелов) похожи между собой.

Date: 2006-09-03 11:15 am (UTC)
From: [identity profile] yms.livejournal.com
упс... один из моих вариантов был неправильным.
(deleted comment)

Date: 2006-09-03 09:56 am (UTC)
From: [identity profile] avva.livejournal.com
Удалю свой коммент, чтобы другим людям не портить задачку :)

Date: 2006-09-03 10:46 am (UTC)
From: [identity profile] yms.livejournal.com
хм... с моими совпадает только 2 способа :)
я пробелы не менял, но, похоже, с пробелами вариантов таки четыре...
хинт: мой третий способ похож на твой второй.
мне задачку мылом задавали, на свои ответы я ответ еще не получил.

Date: 2006-09-03 10:52 am (UTC)
From: [identity profile] yms.livejournal.com
уже получил, авторский ответ совпадает с твоим, а я нашел четвертый способ :)

Date: 2006-09-03 11:15 am (UTC)
From: [identity profile] yms.livejournal.com
как оказалось, ни фига не четвертый, неправильный он.

Date: 2006-09-03 11:18 am (UTC)
From: [identity profile] afuchs.livejournal.com
i < N zamenit' i + N

Date: 2006-09-03 11:21 am (UTC)
From: [identity profile] yms.livejournal.com
одно из.

Date: 2006-09-03 11:23 am (UTC)
From: [identity profile] yms.livejournal.com
Мой ошибочный вариант -
for(i = 0 ; i ^ N ; i--)
но он на -20 не останавливается.

Date: 2006-09-03 11:41 am (UTC)
From: [identity profile] panikowsky.livejournal.com
Если не секрет, кто прислал?

Date: 2006-09-03 11:44 am (UTC)
From: [identity profile] yms.livejournal.com
Бывший сотрудник, который сейчас в Орботеке работает. Но он явно не автор.

Profile

yms: (Default)
Michael Yutsis

March 2022

S M T W T F S
  12 345
678910 1112
13141516171819
20212223242526
2728293031  

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Mar. 24th, 2026 01:21 pm
Powered by Dreamwidth Studios