?

Log in

Тоже еще этюдик для программистов - Общество дровосеков Бердичева по изучению Мишны

May. 2nd, 2012

09:05 pm - Тоже еще этюдик для программистов

Previous Entry Share Next Entry

Взял вот, и от нечего делать написал программу, находящую самоописывающую панграмму "В этом предложении есть сорок четыре буквы а, тридцать четыре буквы б, сорок четыре буквы в, одна буква г, тридцать четыре буквы д, двадцать семь букв е, две буквы ж, одна буква з, тринадцать букв и, одна буква й, тридцать шесть букв к, две буквы л, шесть букв м, девятнадцать букв н, двадцать букв о, три буквы п, восемнадцать букв р, одиннадцать букв с, тридцать шесть букв т, тридцать четыре буквы у, одна буква ф, одна буква х, пятнадцать букв ц, семь букв ч, четыре буквы ш, одна буква щ, одна буква ъ, восемнадцать букв ы, двадцать одна буква ь, две буквы э, одна буква ю, три буквы я, и одна буква ё" примерно минут за 10 (если повезёт - там у меня srandom(time(0));), не считая времени на написание собственно программы. Повторно заброшенный невод принес ту же рыбку - видимо, она там единственная. С другими зачинами и/или без слова "буква" пока ничего интересного не нашлось.

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

Upd: Нашелся более простой вариант: только из букв, количество которых могло варьироваться в панграмме, без зачина и слова "буква": "двенадцать а, пять в, одиннадцать д, девятнадцать е, четыре и, одна к, четыре м, восемь н, четыре о, три п, семь р, семь с, девятнадцать т, шесть ц, шесть ч, четыре ш, шесть ы, четырнадцать ь, и пять я"

А самый простой вариант, конечно же "пять п, пять т, пять ь, пять я".

Упомянутый выше результат, как следует из поиска (распространяемая в интернете фраза с - ошибкой, облегчающей поиск: "триднацать букв и"), принадлежит Вячеславу Кабановичу.

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

А вот без гапаксов: "В этом предложении двадцать одна буква а, двадцать пять букв б, сорок две буквы в, двадцать девять букв д, двадцать две буквы е, две буквы ж, семь букв и, двадцать шесть букв к, две буквы л, шесть букв м, четыре буквы н, семь букв о, пять букв п, восемь букв р, десять букв с, двадцать четыре буквы т, двадцать пять букв у, десять букв ц, три буквы ч, три буквы ш, тринадцать букв ы, двадцать две буквы ь, две буквы э, и семь букв я".

Или так: "В этом предложении есть двадцать одна буква а, двадцать пять букв б, сорок букв в, двадцать семь букв д, двадцать две буквы е, две буквы ж, пять букв и, двадцать шесть букв к, две буквы л, шесть букв м, четыре буквы н, семь букв о, семь букв п, шесть букв р, двенадцать букв с, двадцать пять букв т, двадцать пять букв у, десять букв ц, три буквы ч, четыре буквы ш, десять букв ы, двадцать пять букв ь, две буквы э, и восемь букв я".

Или так: "В этой фразе есть двадцать две буквы а, двадцать шесть букв б, сорок три буквы в, двадцать девять букв д, двадцать две буквы е, две буквы з, семь букв и, две буквы й, двадцать семь букв к, пять букв м, четыре буквы н, пять букв о, четыре буквы п, девять букв р, десять букв с, двадцать семь букв т, двадцать шесть букв у, две буквы ф, одиннадцать букв ц, три буквы ч, три буквы ш, пятнадцать букв ы, двадцать три буквы ь, две буквы э, и семь букв я".

Или так: "двадцать две буквы а, двадцать две буквы б, тридцать шесть букв в, двадцать четыре буквы д, восемнадцать букв е, пять букв и, двадцать две буквы к, три буквы м, четыре буквы н, три буквы о, пять букв п, восемь букв р, шесть букв с, двадцать шесть букв т, двадцать две буквы у, двенадцать букв ц, пять букв ч, четыре буквы ш, четырнадцать букв ы, двадцать букв ь, и пять букв я"

Просто так: "двадцать шесть а, одна б, шестнадцать в, две г, тридцать д, двадцать е, одна ж, три з, девять и, ноль и кратких, шесть к, три л, три м, шестнадцать н, двенадцать о, две п, десять р, семь с, двадцать девять т, одна у, одна ф, четыре х, девять ц, три ч, пять ш, одна щ, ноль твёрдых знаков, четыре ы, девятнадцать мягких знаков, одна э, одна ю, девять я, две ё"

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

Короче, "шестнадцать а, одиннадцать в, две г, семнадцать д, восемнадцать е, две з, семь и, три к, восемь м, одиннадцать н, семь о, две п, пять р, десять с, шестнадцать т, две х, восемь ц, две ч, три ш, две ы, тринадцать мягких знаков, четыре я"

Comments:

[User Picture]
From:grey_horse
Date:May 3rd, 2012 04:17 am (UTC)
(Link)
Понял, что процитированный мной вариант содержит ошибку ("и" на самом деле входит 12 раз). У тебя она исправлена за счёт "и одна буква ё".

Edited at 2012-05-03 04:18 am (UTC)
(Reply) (Thread)
[User Picture]
From:spamsink
Date:May 3rd, 2012 04:28 am (UTC)
(Link)
Нет, их там тоже 13 - я проверил в первую очередь при тестировании моей программы. Мой вариант отличается исправлением буквы "е" на "ё", где надо, правильным написанием слова "тринадцать" вместо "триднацать" (букв И), и порядком слов ("три буквы я и одна буква ё" вместо "одна буква ё ... и три буквы я").

Ошибка в слове "триднацать" - явный крючок для удобства поиска.
(Reply) (Parent) (Thread)
[User Picture]
From:kcmamu
Date:May 3rd, 2012 06:45 am (UTC)
(Link)
в̃ в
(Reply) (Thread)
[User Picture]
From:spamsink
Date:May 3rd, 2012 06:51 am (UTC)
(Link)
Меня порвало еще при виде "в̃ в" в почтовом ящике.
(Reply) (Parent) (Thread)
[User Picture]
From:kcmamu
Date:May 3rd, 2012 07:02 am (UTC)
(Link)
A Short Guide to HTML Obscenities...
(Reply) (Parent) (Thread)
[User Picture]
From:spamsink
Date:May 3rd, 2012 06:53 am (UTC)
(Link)
Правильнее будет "в҃ в", но у меня отображается криво.
(Reply) (Parent) (Thread)
[User Picture]
From:kcmamu
Date:May 3rd, 2012 06:57 am (UTC)
(Link)
Что и было учтено при написании вышенаписанного.
(Reply) (Parent) (Thread)
[User Picture]
From:spamsink
Date:May 4th, 2012 08:49 pm (UTC)
(Link)
Панграмму тоже оказывается легко построить (в порядке юникода, без титлов):

А Ѕ, А І, ЛИ А, А Б, Д В, В Г, В Д, А Е, А Ж, А З, Г И, А К, В Л, А М, А Н, А О, А П, А Р, А С, А Т, А У, А Ф, А Х, А Ц, А Ч, А Ш, А Щ, А Ъ, А Ы, А Ь, А Ю, А Ѡ, А Ѣ, А Ѥ, А Ѧ, А Ѩ, А Ѫ, А Ѭ, А Ѯ, А Ѱ, А Ѳ, А Ѵ, И А Ꙗ.
(Reply) (Parent) (Thread)
[User Picture]
From:kcmamu
Date:May 5th, 2012 06:43 pm (UTC)
(Link)
А что за последний значок? У меня его ни в одном шрифте не видно.
(Reply) (Parent) (Thread)
[User Picture]
From:spamsink
Date:May 5th, 2012 10:25 pm (UTC)
(Link)
Это http://en.wikipedia.org/wiki/Iotated_A_%28Cyrillic%29

(Reply) (Parent) (Thread)
[User Picture]
From:spamsink
Date:May 4th, 2012 12:52 am (UTC)
(Link)
в этом предложении есть пятнадцать а, двенадцать в, девятнадцать д, девятнадцать е, две ж, пять и, две л, семь м, десять н, семь о, пять п, три р, девять с, восемнадцать т, семь ц, одна ч, две ш, одна ы, шестнадцать ь, две э, и восемь я
(Reply) (Thread)
[User Picture]
From:spamsink
Date:May 4th, 2012 12:52 am (UTC)
(Link)
в этой фразе есть четырнадцать а, двенадцать в, пятнадцать д, двадцать четыре е, две з, три и, две й, четыре м, пять н, четыре о, пять п, восемь р, восемь с, двадцать две т, две ф, семь ц, шесть ч, четыре ш, шесть ы, шестнадцать ь, две э, и пять я
(Reply) (Thread)
[User Picture]
From:spamsink
Date:May 4th, 2012 02:25 am (UTC)

И наконец

(Link)
в этом предложении есть тридцать две а, одна б, тринадцать в, одна г, тридцать семь д, шестнадцать е, две ж, одна з, одиннадцать и, одна й, одна к, две л, пять м, двадцать две н, двадцать одна о, три п, восемь р, восемь с, двадцать две т, одна у, одна ф, одна х, десять ц, одна ч, три ш, одна щ, одна ъ, одна ы, шестнадцать ь, две э, одна ю, три я, и одна ё
(Reply) (Thread)
[User Picture]
From:spamsink
Date:May 4th, 2012 08:09 pm (UTC)

И еще наконец

(Link)
тридцать две а, одна б, двенадцать в, одна г, тридцать шесть д, четырнадцать е, одна ж, одна з, восемь и, одна й, одна к, одна л, две м, двадцать две н, девятнадцать о, одна п, девять р, три с, двадцать одна т, одна у, одна ф, одна х, девять ц, три ч, две ш, одна щ, одна ъ, три ы, тринадцать ь, одна э, одна ю, четыре я, и одна ё
(Reply) (Thread)
[User Picture]
From:spamsink
Date:May 5th, 2012 01:42 am (UTC)

In English

(Link)
two a's, one b, one c, two d's, thirty e's, five f's, four g's, eight h's, eight i's, one j, one k, one l, one m, seventeen n's, sixteen o's, one p, one q, eight r's, twenty one s's, sixteen t's, four u's, three v's, four w's, three x's, three y's, and one z
(Reply) (Thread)
[User Picture]
From:grey_horse
Date:May 5th, 2012 01:47 am (UTC)

Re: In English

(Link)
Эк тебя затянуло :)
(Reply) (Parent) (Thread)
[User Picture]
From:spamsink
Date:May 5th, 2012 02:01 am (UTC)

Re: In English

(Link)
Трудов немного. Поправил несколько строчек, запустил - работает.
(Reply) (Parent) (Thread)
[User Picture]
From:kcmamu
Date:May 5th, 2012 06:46 pm (UTC)

Re: In English

(Link)
А если названия букв -- словами, в духе "двадцать мягких знаков"?
(Reply) (Parent) (Thread)
[User Picture]
From:spamsink
Date:May 5th, 2012 10:25 pm (UTC)

Re: In English

(Link)
Для мягких знаков - сработает, а если твердые так описать, то уже не панграмма будет.
(Reply) (Parent) (Thread)
[User Picture]
From:kcmamu
Date:May 6th, 2012 12:16 am (UTC)

Re: In English

(Link)
А в старой орфографии! Но в алфавите без ижицы.
(Reply) (Parent) (Thread)
[User Picture]
From:spamsink
Date:May 6th, 2012 12:24 am (UTC)

Re: In English

(Link)
Т.е. "столько-то азовъ, столько-то буки, столько-то веди, столько-то глаголей..."? Соотв. "еровъ" и "ерей"? Я не уверен, что правильно просклоняю все названия букв.
(Reply) (Parent) (Thread)
[User Picture]
From:spamsink
Date:May 10th, 2012 11:43 pm (UTC)

Francais

(Link)
Cette phrase ne contient que cinq a, une b, six c, cinq d, vingt six e, quatre f, deux g, trois h, quatorze i, une j, une k, une l, une m, dix-neuf n, cinq o, quatre p, neuf q, sept r, huit s, quinze t, dix-neuf u, deux v, une w, sept x, une y, et trois z


Edited at 2012-05-11 12:13 am (UTC)
(Reply) (Thread)