Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Интеллектуалная разминка.

28K
14 августа 2007 года
Vladimir.
12 / / 03.08.2007
Просто отвлечся или размяться если возникнет желание и свободное время.
Предлагаю ряд задач которые нашел интересными (можно рассматривать как викторину).

************************
Требуется вычислить количество N - значных счастливых билетов. Напомним, что билет называется счастливым, если сумма первой половины его цифр равна сумме другой его половины. Например, билет 564159 счастливый, т.к. 5+6+4=1+5+9. N<=100;
276
14 августа 2007 года
Rebbit
1.1K / / 01.08.2005
Чтото никто не пробует. Видимо те кто знают молчат, чтоб другим апетит не портить, а те кто не знают еще думают.

Признаюсь к своему стыду, когда я делал такое впервые для 6-ти значного числа, то
перебирал сумы от 0 до 27 (ето все возможные сумы для 3-значного числа),
для каждой сумы перебирал от 0 до 999 смотрел сколькими вариантами можно сформировать 3-значное число с такой сумой цифр,
поднимал ето количество вариантов в квадрат (потому что 2 части по 3 знака) и сумировал к результату.

Ответ то правильный, но вот метод частично плохой. Хотя и лутше чем все 6-ти значные варианты перебрать.
А правильно ето делается совсем по другому .....
2.0K
14 августа 2007 года
WidowMaker
212 / / 05.04.2005
Цитата: Rebbit
Чтото никто не пробует. Видимо те кто знают молчат, чтоб другим апетит не портить, а те кто не знают еще думают.


По твоей теории так этот топ будет пустым еще дооолгое время....

2Vladimir:
А можно и свои задачки добавлять? Тут у меня олимп. с ХНУРЭ 2007...

28K
14 августа 2007 года
Vladimir.
12 / / 03.08.2007
Цитата:
А можно и свои задачки добавлять?


да, если интересные.

7.8K
15 августа 2007 года
Tingo
201 / / 17.05.2007
случайно не с acm.timus, а?
28K
15 августа 2007 года
Vladimir.
12 / / 03.08.2007
Цитата:
Tingoнаписал(а)
случайно не с acm.timus, а?


оттуда тоже есть. Вообще свой список небольшой имеется...

263
15 августа 2007 года
koltaviy
816 / / 16.12.2004
Цитата: Vladimir.
Просто отвлечся или размяться если возникнет желание и свободное время.
Предлагаю ряд задач которые нашел интересными (можно рассматривать как викторину).

************************
Требуется вычислить количество N - значных счастливых билетов. Напомним, что билет называется счастливым, если сумма первой половины его цифр равна сумме другой его половины. Например, билет 564159 счастливый, т.к. 5+6+4=1+5+9. N<=100;


Ф топку.. в чем "интересность"-то заключается?

276
15 августа 2007 года
Rebbit
1.1K / / 01.08.2005
Цитата: koltaviy
Ф топку.. в чем "интересность"-то заключается?


В том, что если ето зделать неправильно, то для N=100 програма будет искать ответ пока Солце не сгорит ;).

28K
15 августа 2007 года
Vladimir.
12 / / 03.08.2007
koltaviy в чем проблема-то???
Предложи то, что тебе кажется интересным.
255
16 августа 2007 года
Dart Bobr
1.4K / / 09.04.2004
Цитата: Rebbit
В том, что если ето зделать неправильно, то для N=100 програма будет искать ответ пока Солце не сгорит ;).


о_О А зачем перебирать все.. Нужно ведь только найти количество, а не все билетики - а это обычная комбинаторня задача.

8.9K
17 августа 2007 года
Kulti
77 / / 29.07.2006
Цитата: Dart Bobr
о_О А зачем перебирать все.. Нужно ведь только найти количество, а не все билетики - а это обычная комбинаторня задача.

Ах если бы обычная... В школе, на оллимпиадах, задачи такого рода решали перебором, а что бы за временные рамки не выйти полученные результаты в switch засовывали ))

263
17 августа 2007 года
koltaviy
816 / / 16.12.2004
В общем, всем кто интересуется "интересными" задачами предлагаю сначала учить математику :D, и уж в крайнем случае пользоваться любимыми поисковиками:
http://ega-math.narod.ru/Quant/Tickets.htm
276
18 августа 2007 года
Rebbit
1.1K / / 01.08.2005


Вот собственно и все, а я так надеялся что ктото сам код напишет :).
Vladimir Можно я сюда еще одну простенькую задачку дам ?

276
24 августа 2007 года
Rebbit
1.1K / / 01.08.2005
Цитата: Demon1X
И колитесь чё за алгоритм !!!


Посмотри последний пост от koltaviy. Там ссылка есть. Я полностю не читал но ето оно самое :). Я делал методом описаним Л. М. Финк - Ещё раз
о счастливых билетах (Квант 12)
. Если там не поймеш приходи, поговорим.

ЗЫ. Хотелось бы услышать решение автора темы. Вероятно он знает чтото еще оригиналнее.

276
24 августа 2007 года
Rebbit
1.1K / / 01.08.2005
2Demon1X Не очень розбирал твою програму, но в етом месте
Цитата: Demon1X
Для шести значных чисел:
Код:
int mas[27];
    for (i=0; i<28; mas[i++]=0);


  for (vit=0; vit<28; vit++){
    s=0;
    for (i=0; i<10; i++)
      for (j=0; j<10; j++)
          for (k=0; k<10; k++)
            if ((i+j+k)==vit)
               s++;

      mas[vit]=s;
  }//vit


прогарма роботает в 28 раз дольше чем надо.

 
Код:
int mas[27];
    for (i=0; i<28; mas[i++]=0);


    for (i=0; i<10; i++)
      for (j=0; j<10; j++)
          for (k=0; k<10; k++)
             mas[i+j+k]++;
  }//vit
3
24 августа 2007 года
Green
4.8K / / 20.01.2000
Цитата: Rebbit

 
Код:
int mas[27];
    for (i=0; i<28; mas[i++]=0);


А почему i<28 ?
А зачем, вообще, так инициализировать массив.
Можно проще:

 
Код:
int mas[27] = {0};
276
24 августа 2007 года
Rebbit
1.1K / / 01.08.2005
Цитата: Green
А почему i<28 ?


Copy-Paste Сделал. С 28 виноват. Провтыкал.

Цитата: Green
А зачем, вообще, так инициализировать массив.
Можно проще:
 
Код:
int mas[27] = {0};


Потому что не грамотный я в С/С++. Только ази (и то далеко не все) знаю. Мое замечание касалось только организацыи цыклов.

276
27 августа 2007 года
Rebbit
1.1K / / 01.08.2005
Масив надо на 28 елементов. Там действительно i < 28. Ошибка в обявлении масива.
25K
06 сентября 2007 года
semiono
26 / / 31.08.2007
экх-ек
продолжим.
Нидали высказаться.
В моём словаре нету слова kernel, да я и не люблю по словарям лазить.
Наскока мне извесна ядро - это core. А браин Керниган довольно известный человег. который много всего и замутил.
Половина юзеров русифицыруют свои линупсы только и слышно как кириллицу выправить, если такие граматеи...
http://en.wikipedia.org/wiki/Kernel_(computer_science) - где здесь расшифровывается абриввеатура, если как я уже сказал у меня словарик карманный? Что я должен подумать!
Браво! :rolleyes:
32K
08 сентября 2007 года
_Fantom_
1 / / 08.09.2007
почти ничего не понял :)
можно хотя бы комментарии к переменным, что делают циклы и почему массив в 28 элементов???
простите за дурость...
245
08 сентября 2007 года
~ArchimeD~
1.4K / / 24.07.2006
Цитата: semiono
экх-ек
продолжим.
Нидали высказаться.
В моём словаре нету слова kernel, да я и не люблю по словарям лазить.
Наскока мне извесна ядро - это core. А браин Керниган довольно известный человег. который много всего и замутил.
Половина юзеров русифицыруют свои линупсы только и слышно как кириллицу выправить, если такие граматеи...
http://en.wikipedia.org/wiki/Kernel_(computer_science) - где здесь расшифровывается абриввеатура, если как я уже сказал у меня словарик карманный? Что я должен подумать!
Браво! :rolleyes:



гм, упорствуем в своем неведении?
1) если не хочешь облаживаться дальше, советую тебе все таки по словарям лазить. Почти вся документация по никсам - на английском языке.
2) lingvo.yandex.ru - и будет тебе счастье в переводе с разных языков.
3) core - это безусловно ядро. Но если я не глючю, это слово обычно применяется к ядрам процессора, а ядро ос обычно переводится, как kernel
3) что ты хотел сказать про граматеев, русифицирующих линукс? к чему это высказывание?
4) куда ты а английскую википедию лезешь, если английского не знаешь?
http://ru.wikipedia.org/wiki/Kernel
Брайан Керниган, человек конечно крупный, но подумать надо все-таки логически, насколько мне помнится непосредственно к написанию кернелов он отношения не имеет.
З.Ы. за оффтоп просьба не пинать, всетаки раздел такой...

9
08 сентября 2007 года
Lerkin
3.0K / / 25.03.2003
Цитата: ~ArchimeD~
гм, упорствуем в своем неведении?


Все эти словари, википедии, учебники и справочники - для тупых лохов и ботанов. Настоящие пацаны на такую туфту время не тратят!

276
10 сентября 2007 года
Rebbit
1.1K / / 01.08.2005
Цитата: _Fantom_
почти ничего не понял :)
можно хотя бы комментарии к переменным, что делают циклы и почему массив в 28 элементов???


Цыклы ищут сколько есть трехзначных чисел с конкретной сумой цифр.
Масив на 28 елементов потому что частичный случай. Билеты шестизначные, в половине 3 цыфры. Отсюда сума в диапазоне от 0 (000) до 27 (999) итого 28 возможных сум.

25K
10 сентября 2007 года
semiono
26 / / 31.08.2007
Цитата: ~ArchimeD~
гм, упорствуем в своем неведении?
1) если не хочешь облаживаться дальше, советую тебе все таки по словарям лазить.


Так облажался уже ж :D
Ладно больше не офтоплю! Нормально!

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог