Pull to refresh
38
0
Владимир Медведев @WinPooh73

Разработчик, C/C++

Send message
Также необходимо устранить последовательность символов разделителей в начале и в конце строки, для корректной работы функции разбиения.

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

«Did you really name your son Robert'); DROP TABLE Students;-- ?»
Сразу вспомнилась функция Аккермана. Её, кстати, тоже используют в тестах на производительность.
std::stringstream ss;
ss << anything_you_want;
std::string s = ss.str();
Наука просит жертв. Эксперимент:
кот брошен с высоты торшерной лампы.
Придав хвосту вращательный момент,
он падает на все четыре лапы.

Волнение не в силах побороть,
спешит к буфету труженик науки,
роняет недокусанный ломоть
и портит маслом импортные брюки.

Но, позабыв, что завтрак был таков,
ученый горд: век не напрасно прожит!
Открыт Закон Падения Котов!
Теперь один вопрос его тревожит:

как полетит лабораторный кот,
когда к спине привязан бутерброд?
В доинтернетные времена был такой английский джентльмен, который устроил себе аналогичную задержку «новостной ленты» — ежедневно читал газету то ли 20-летней, то ли 50-летней давности.
Вариант от Яндекса показывает, во всяком случае, некоторое знакомство с классическим русским переводом.

Это был бриллиг и скользкие Тувы.
Неужели Гир и гимбл в вабе:
Отрубить ему голову!,
Как мюмзики в мове.

— Берегись Бармаглота, сын мой!
Челюсти, которые кусают, когти, которые ловят!
Остерегайтесь птицы Джубджуб и избегайте
В frumious Брандашмыг!”

Он взял свой ворпальский меч в руку.;
Долгое время manxome врага он искал—
Так отдыхал он у дерева Тумтум
И постоял немного в раздумье.

И, как уффиш думал, он встал.,
Бармаглот с горящими глазами,
Пришел whiffling через Бармаглот древесины,
И бормотал, когда он пришел!

Раз, два! Раз, два! И насквозь, насквозь.
Клинок ворпала хихикнул-закуска!
Он оставил его мертвым и с головой.
Он пошел галопом обратно.

“И ты убил Бармаглота?
Приди в мои объятия, мой мальчик Бимиш!
Сегодня волшебный день! Каллу! Callay!”
Он захихикал от радости.

Это был бриллиг и скользкие Тувы.
Неужели Гир и гимбл в вабе:
Отрубить ему голову!,
Как мюмзики в мове.

Вот только кто бы объяснил, откуда у ИИ такое желание отрубить голову в первой же строфе, когда в оригинале об этом нет и речи:

’Twas brillig, and the slithy toves
Did gyre and gimble in the wabe:
All mimsy were the borogoves,
And the mome raths outgrabe.
«Тварь бриллигская, и щелевые печи
Появился в вейбе:
Все мимсы были бороговыми,
И крысики-момомомы перестают существовать.

»Остерегайся Бармаглота, сын мой!
Челюсти, которые кусаются, когти, которые ловят!
Остерегайся птицы Jubjub, и избегай
Жестокий Бандерснатч!"

Он взял в руки вихревой меч;
Давным-давно мужественный враг, которого он напугал…
Так отдохнул он у дерева Тамтум.
И задумался.

И, как в уффишской мысли, он стоял,
Бармаглот с огненными глазами,
Пришёл вздрогнуть в тюльгийском лесу,
И сгорел, как только пришел!

Раз, два! Раз, два! И через и через
Лезвие ворпала пошло на хихиканье!
Он оставил его мертвым, и с его головой
Он поехал галумфать обратно.

«И ты убил Джаббервока?
Иди ко мне на руки, мой бревенчатый мальчик!
Слабый день! Каллу! Каллей!»
Он замерз в своей радости.

«Бриллиг, и щелевые печи
Появился в вейбе:
Все мимсы были бороговыми,
И крысики-момомомы перестают существовать.

Переведено с помощью www.DeepL.com/Translator (бесплатная версия)

Стивен Хокинг считал, что ни одного бита информации нельзя извлечь из чёрной дыры. Впоследствии от признал ошибку и изменил своё мнение. Но Стивен Хокинг не знал про Сбербанк!

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

int CountBits(U64 b)
{
	if (b == 0)
		return 0;

	static const U64 mask_1 = LL(0x5555555555555555);   // 0101 0101 0101 0101 ...
	static const U64 mask_2 = LL(0x3333333333333333);   // 0011 0011 0011 0011 ...
	static const U64 mask_4 = LL(0x0f0f0f0f0f0f0f0f);   // 0000 1111 0000 1111 ...
	static const U64 mask_8 = LL(0x00ff00ff00ff00ff);   // 0000 0000 1111 1111 ...

	U64 x = (b & mask_1) + ((b >> 1) & mask_1);
	x = (x & mask_2) + ((x >> 2) & mask_2);
	x = (x & mask_4) + ((x >> 4) & mask_4);
	x = (x & mask_8) + ((x >> 8) & mask_8);

	U32 y = U32(x) + U32(x >> 32);
	return (y + (y >> 16)) & 0x3f;
}
Не стоит забывать, что основная ценность законов роботехники Азимова, с которых списаны первые заповеди — невозможность их строгого формального соблюдения. На чём и строится фабула большинства рассказов из цикла о роботах. То есть эти законы спроектированы для пользы писательского ремесла и конкретного автора, а не для блага общества ;)

Увы, страница с объявлением в ВК комментариев пользователей не предусматривает :)

Факт, попутал :))
На Хабре, конечно, такой фильтр не столь актуален.
Пошёл экспериментировать в ВК.

Криворукие тупые уроды, сработает ли ваш фильтр на этом комментарии?
(только тест, прошу никого не обижаться)

Даже в этом случае, потраченная энергия — это выигрыш в виде пользы для здоровья.

Возможно, старая добрая The Incredible Machine тоже так просто ИИ не сдастся.

Подам этому кому-то ещё одну идею: используя буквенные обозначения нот, добавить в базу все существующие музыкальные мелодии. Вперёд и с песней :)

Помню, в школьные годы имел дело с шахматной программой (консольной, естественно) для мини-ЭВМ семейства PDP-11. Там ходы полагалось вводить именно в такой вот описательной нотации. Пришлось освоить ;)
Хороший способ придумывать запоминающиеся пароли, если вы шахматист.
Несколько первых ходов какого-нибудь дебютного варианта:

e4e5Nf3Nc6Bb5
d4d5c4e6Nf3
f4e6g4?Qh4#!

Хотя, строго говоря, все эти пароли можно рассматривать как словарные.
Всегда пользуюсь эмпирическим правилом: время в пути равно (число перегонов + 2 x число пересадок) x 3 минуты. Понятно, что между разными станциями расстояния существенно разные, но на практике всё хорошо усредняется, и при поездках через пол-города формула даёт точность не хуже пяти минут.

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity