Старое обсуждение:Счастливый билет

Материал из Неолурк, народный Lurkmore
Перейти к навигации Перейти к поиску

Внимание! Это старая дискуссия, которая некогда велась на сайте Луркоморье. Пожалуйста, для продолжения обратитесь к актуальной: Обсуждение:Счастливый билет, которая проводится в стиле пленарного заседания.


/r/еквестирую немного арифметики в сочетании с комбинаторикой[править]

Изложите, кто-нибудь, полную форумулу подсчета количества счастливых билетов. Пожалуйста. Я сам могу, но мне щас некогда.

В Педивикии посмотри.
У меня эта задача в школьные годы вызвала взрыв мозга, оказалось проще набыдлокодить брут-форс-считалку.
Я эти билеты ещё на информатике в школе считал, вот и запомнил. Быдлокодеры конечно же будут перебирать все 1000000 билетов, удачи. Нормальный кодер может создать алгоритм с 1027 итерациями. Тест на IQ, дерзайте.
Ты так говоришь, как будто для такой дубовой задачки 1027 итераций нестерпимо сильно отличаются по времени от 1000000.
Современные компы конечно уже мало похожи на Спектрум, но всё равно мозги включать надо хоть иногда.
// Индусский быдлокод
int a, n, s = 0;
for(int i = 0; i < 1000000; i++)
{
    n = i;
    a = n-n/10*10; n /= 10;
    a += n-n/10*10; n /= 10;
    a += n-n/10*10; n /= 10;
    a -= n-n/10*10; n /= 10;
    a -= n-n/10*10; n /= 10;
    a -= n-n/10*10;
    if (a == 0) s++;
}

// Китайский быдлокод
int s=0;
for(int a = 0; a < 10; a++)
  for(int b = 0; b < 10; b++)
    for(int c = 0; c < 10; c++)
      for(int d = 0; d < 10; d++)
        for(int e = 0; e < 10; e++)
          for(int f = 0; f < 10; f++)
            if (a+b+c == d+e+f) s++;

// Небыдлокод
int [] s = new int [28];
int a, b, c, sum = 0;
for (a = 0; a < 10; a++)
  for(b = 0; b < 10; b++)
    for(c = 0; c < 10; c++) s[a+b+c]++;
for (a = 0; a < 28; a++) sum += s[a]*s[a];
Прикольно то, что быдлокодный пример не только работает в 1000 раз медленнее, но и отжирает больше 400Кб памяти. Если бы это было на мабиле, то произошло бы зависание или вылет с OutOfMemory ошибкой.
Была мысль написать индусскую версию быдлокода с одной переменной-итерацией и длинной функцией подсчета счастливости номера через целочисленное деление-вычитание. Индусы, допилите, коли не впадлу…

У математиков счастливым билетиком считается тот, из цифр которого, расставив знаки «+» и «-», можно получить число «100». Ваш математик-кун 87.117.35.90 12:08, 16 июля 2009 (MSD)

Знаю, сам упоротый математик. Но это — другая тема, ибо требует хотя бы минимального напряжения мозга.
Вы оба упоротые. Как можно из максимум шести девяток получить 100? Maximum = 9+9+9+9+9+9 = 54
Ни разу не математик, но думаю сам ты упоротый — там же не сказано, что знаки надо ставить после каждой цифры. Можно и что-то типа 99+999-..
Для самых упоротых математиков можно также добавить использование всех операций, включая возведение в степень, корни, факториал и интегрирование. Например, номер билета 730381. Решение: 73+0,(3)*81=100. Можно играть вдвоем, у кого получится ближе всего подойти к сотне, при одинаковом результате учитывать время или количество доп.знаков. В общем, обалденная тема, чтобы скоротать время при поездке.

Прекрасная тема. Автору плюс за задумку. --MONOLIT 13:07, 16 июля 2009 (MSD)

Блѣ, а как там дела с гетоебством? Мне кажется, что если анонимус получит счастливый билет, он нарисует на нем Лесли.

Сдается мне, зря ты это сказал.

Дискасс в сноске, вообще, бесперспективен, ибо о правилах. Мне встречался вариант, где сложение продолжают до получения цифры. Еще был чуть более хардкорный — i1+i4 = i2+i5 = i3+i6

это все левые способы определения, так можно какие угодно определить f(x, y, z, u, v, w) возвращающие 1 в случае счастливого билета, и 0 в случае FAIL, но это все ересь. единственный расово верный и общепризнанный метод x + y + z == u + v + w

«…он имеет −9000 к мане в борьбе за существование»[править]

блять, каков смысд этой фразы? афтар долбанько и незнает определения слова «мана»? Вобщем заменил на «..он имеет −9000 к карме и неимеет шансов к выживанию», так уж более осмыслено.

Ай нид хэлп[править]

Аноны, подскажите годный рецепт приготовления сабжа, бо всыромятку невкусен зело.

Прокипяти в супчике, блджад. И гигиеничнее, и вкуснее ^^

Истории анонов[править]

Анонимус из Рязани сообщает, что года 3-4 назад могли получить профит, впрочем, был даже розыгрыш по простым номерам.

Алсо, анонимус вспоминает случай, когда перед экзаменом одна девочка хвасталась щасливым билетиком и показательно его жрала, а через пару часов такую девочку увезли с апендицитом по скорой. Видимо билет был фальшивым.

Алсо анонимус помнит акцию в минске — счастливый билет. 1 покупаешь проездной билет на месяц 2 ждёшь следующего месяца 3 ??? 4 profit прошит профит мог заключаться в бытовой технике (пылесосы, холодильники, микроволновки). Заместо обычного лохотрона использовалась программка на FoxPro, анонимус это гарантирует.

На почти цивилизованном забугорном острове в Азии подобная лотерея проводится каждые 2 месяца по чекам, благо они имеют единый формат и порядковый номер. Анонимус выигрывал 200 рублей, макс профит — 200 тысяч.

Один анонимус в пору учёбы в школе съел билет, но не придумал желания. Старшая сестра ему посоветовала загадать:"не отравиться билетом". Как не парадоксально желание сбылось. Потом ради эксперимента при последующем употреблении счастливых билетов загадывалось точно такое же желание. Эксперимент дал странный результат: либо билеты действительно выполняют желания, либо отравиться ими нельзя. Вообщем как-то так.

Матан[править]

50 412 (нули то тебе зачем)

	к=0;
	мас=новый массив(6);
	Для н=100000 по 999999 цикл
		ч=н;
		кфц=100000;
		для ь=0 по 5 цикл
			мас[ь]=цел(ч/кфц);
			ч=ч-мас[ь]*кфц;
			кфц=кфц/10;
		КонецЦикла;
		Если Мас[0]+Мас[1]+Мас[2]=Мас[3]+Мас[4]+Мас[5] Тогда
			Сообщить(н);
			к=к+1;
		КонецЕсли;
		ОбработкаПрерыванияПользователя();
	КонецЦикла;
	Сообщить("Всего "+Строка(к));

Сорри за 1С, то что было под рукой

Бывают билеты, номер которых начинается на ноль, школота-быдлокодер-1С!