<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Комментарии: Решения школьной задачки</title>
	<atom:link href="http://artamonov.ru/2006/12/13/resheniya-shkolnoy-zadachki/feed/" rel="self" type="application/rss+xml" />
	<link>http://artamonov.ru/2006/12/13/resheniya-shkolnoy-zadachki/</link>
	<description>Посмотрим, глубока ли кроличья нора</description>
	<lastBuildDate>Thu, 22 Mar 2012 11:34:58 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
	<item>
		<title>Автор: tuzzeg</title>
		<link>http://artamonov.ru/2006/12/13/resheniya-shkolnoy-zadachki/comment-page-1/#comment-586</link>
		<dc:creator>tuzzeg</dc:creator>
		<pubDate>Wed, 27 Dec 2006 09:33:49 +0000</pubDate>
		<guid isPermaLink="false">http://www.artamonov.ru/2006/12/13/resheniya-shkolnoy-zadachki/#comment-586</guid>
		<description>А мне сразу пришло в голову использовать signum(). Решение тогда элементарно:

String A[] = {&quot;A&quot;, &quot;eq&quot;, &quot;B&quot;};
return A[sign(a - b) + 1];

Но как реализовать signum(a) без ветвления? Первая мысль: signum(a) = a/&#124;a&#124;, но это не подходит, так как эта функция не определена для a=0. Если в нашей задаче добавить ограничение на то, что числа разные, то это решение подходит.

Потом я подумал, и соорудил функцию: signum(x) = (&#124;x+1&#124; - &#124;x-1&#124;)/2 для всех чисел, кроме (-1;0), (0;1) исключительно. Для целых чисел это решение подойдет.</description>
		<content:encoded><![CDATA[<p>А мне сразу пришло в голову использовать signum (). Решение тогда элементарно:</p><p>String A[] = {"A", &laquo;eq&raquo;, &laquo;B&raquo;};</p><p>return A[sign(a - b) + 1];</p><p>Но как реализовать signum (a) без ветвления? Первая мысль: signum (a) = a/|a|, но это не подходит, так как эта функция не определена для a=0. Если в нашей задаче добавить ограничение на то, что числа разные, то это решение подходит.</p><p>Потом я подумал, и соорудил функцию: signum (x) = (|x+1|&nbsp;&mdash; |x-1|)/2 для всех чисел, кроме (-1;0), (0;1) исключительно. Для целых чисел это решение подойдет.</p>]]></content:encoded>
	</item>
</channel>
</rss>

