<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://acm.khpnets.info/w39/index.php?action=history&amp;feed=atom&amp;title=%D0%9D%D0%B0%D0%B8%D0%B2%D0%BD%D1%8B%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%81%D0%B8%D0%B2%D0%BD%D1%8B%D0%B9_%D1%80%D0%B0%D0%B7%D0%B1%D0%BE%D1%80</id>
	<title>Наивный рекурсивный разбор - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://acm.khpnets.info/w39/index.php?action=history&amp;feed=atom&amp;title=%D0%9D%D0%B0%D0%B8%D0%B2%D0%BD%D1%8B%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%81%D0%B8%D0%B2%D0%BD%D1%8B%D0%B9_%D1%80%D0%B0%D0%B7%D0%B1%D0%BE%D1%80"/>
	<link rel="alternate" type="text/html" href="https://acm.khpnets.info/w39/index.php?title=%D0%9D%D0%B0%D0%B8%D0%B2%D0%BD%D1%8B%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%81%D0%B8%D0%B2%D0%BD%D1%8B%D0%B9_%D1%80%D0%B0%D0%B7%D0%B1%D0%BE%D1%80&amp;action=history"/>
	<updated>2026-05-13T11:42:57Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.39.3</generator>
	<entry>
		<id>https://acm.khpnets.info/w39/index.php?title=%D0%9D%D0%B0%D0%B8%D0%B2%D0%BD%D1%8B%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%81%D0%B8%D0%B2%D0%BD%D1%8B%D0%B9_%D1%80%D0%B0%D0%B7%D0%B1%D0%BE%D1%80&amp;diff=2318&amp;oldid=prev</id>
		<title>Ctrlalt: Ctrlalt переименовал страницу Рекурсивный спуск в Наивный рекурсивный разбор</title>
		<link rel="alternate" type="text/html" href="https://acm.khpnets.info/w39/index.php?title=%D0%9D%D0%B0%D0%B8%D0%B2%D0%BD%D1%8B%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%81%D0%B8%D0%B2%D0%BD%D1%8B%D0%B9_%D1%80%D0%B0%D0%B7%D0%B1%D0%BE%D1%80&amp;diff=2318&amp;oldid=prev"/>
		<updated>2019-01-23T11:47:00Z</updated>

		<summary type="html">&lt;p&gt;Ctrlalt переименовал страницу &lt;a href=&quot;/wiki/%D0%A0%D0%B5%D0%BA%D1%83%D1%80%D1%81%D0%B8%D0%B2%D0%BD%D1%8B%D0%B9_%D1%81%D0%BF%D1%83%D1%81%D0%BA&quot; class=&quot;mw-redirect&quot; title=&quot;Рекурсивный спуск&quot;&gt;Рекурсивный спуск&lt;/a&gt; в &lt;a href=&quot;/wiki/%D0%9D%D0%B0%D0%B8%D0%B2%D0%BD%D1%8B%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%81%D0%B8%D0%B2%D0%BD%D1%8B%D0%B9_%D1%80%D0%B0%D0%B7%D0%B1%D0%BE%D1%80&quot; title=&quot;Наивный рекурсивный разбор&quot;&gt;Наивный рекурсивный разбор&lt;/a&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Предыдущая версия&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Версия от 11:47, 23 января 2019&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Ctrlalt</name></author>
	</entry>
	<entry>
		<id>https://acm.khpnets.info/w39/index.php?title=%D0%9D%D0%B0%D0%B8%D0%B2%D0%BD%D1%8B%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%81%D0%B8%D0%B2%D0%BD%D1%8B%D0%B9_%D1%80%D0%B0%D0%B7%D0%B1%D0%BE%D1%80&amp;diff=1556&amp;oldid=prev</id>
		<title>Ctrlalt в 19:51, 1 июня 2015</title>
		<link rel="alternate" type="text/html" href="https://acm.khpnets.info/w39/index.php?title=%D0%9D%D0%B0%D0%B8%D0%B2%D0%BD%D1%8B%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%81%D0%B8%D0%B2%D0%BD%D1%8B%D0%B9_%D1%80%D0%B0%D0%B7%D0%B1%D0%BE%D1%80&amp;diff=1556&amp;oldid=prev"/>
		<updated>2015-06-01T19:51:18Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Предыдущая версия&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Версия от 19:51, 1 июня 2015&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l2&quot;&gt;Строка 2:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 2:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Если подстрока содержит &amp;lt;tt&amp;gt;&amp;#039;+&amp;#039;&amp;lt;/tt&amp;gt; или &amp;lt;tt&amp;gt;&amp;#039;-&amp;#039;&amp;lt;/tt&amp;gt; вне скобок, то последней выполняется самая правая из этих операций. Пусть это &amp;lt;tt&amp;gt;&amp;#039;+&amp;#039;&amp;lt;/tt&amp;gt; на позиции &amp;lt;tt&amp;gt;p1&amp;lt;/tt&amp;gt;, тогда результат равен &amp;lt;tt&amp;gt;calc(l, p1 - 1) + calc(p1 + 1, r)&amp;lt;/tt&amp;gt;;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Если подстрока содержит &amp;lt;tt&amp;gt;&amp;#039;+&amp;#039;&amp;lt;/tt&amp;gt; или &amp;lt;tt&amp;gt;&amp;#039;-&amp;#039;&amp;lt;/tt&amp;gt; вне скобок, то последней выполняется самая правая из этих операций. Пусть это &amp;lt;tt&amp;gt;&amp;#039;+&amp;#039;&amp;lt;/tt&amp;gt; на позиции &amp;lt;tt&amp;gt;p1&amp;lt;/tt&amp;gt;, тогда результат равен &amp;lt;tt&amp;gt;calc(l, p1 - 1) + calc(p1 + 1, r)&amp;lt;/tt&amp;gt;;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Иначе, если подстрока содержит &amp;lt;tt&amp;gt;&amp;#039;*&amp;#039;&amp;lt;/tt&amp;gt; или &amp;lt;tt&amp;gt;&amp;#039;/&amp;#039;&amp;lt;/tt&amp;gt; вне скобок, то последней выполняется самая правая из этих операций. Пусть это &amp;lt;tt&amp;gt;&amp;#039;*&amp;#039;&amp;lt;/tt&amp;gt; на позиции &amp;lt;tt&amp;gt;p2&amp;lt;/tt&amp;gt;, тогда результат равен &amp;lt;tt&amp;gt;calc(l, p2 - 1) * calc(p2 + 1, r)&amp;lt;/tt&amp;gt;;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Иначе, если подстрока содержит &amp;lt;tt&amp;gt;&amp;#039;*&amp;#039;&amp;lt;/tt&amp;gt; или &amp;lt;tt&amp;gt;&amp;#039;/&amp;#039;&amp;lt;/tt&amp;gt; вне скобок, то последней выполняется самая правая из этих операций. Пусть это &amp;lt;tt&amp;gt;&amp;#039;*&amp;#039;&amp;lt;/tt&amp;gt; на позиции &amp;lt;tt&amp;gt;p2&amp;lt;/tt&amp;gt;, тогда результат равен &amp;lt;tt&amp;gt;calc(l, p2 - 1) * calc(p2 + 1, r)&amp;lt;/tt&amp;gt;;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Аналогично вводятся операции б&amp;amp;oacute;льших приоритетов. Для &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;левоассоциативнх &lt;/del&gt;операций ищется последнее вхождение, для правоассоциативных &amp;amp;mdash; первое;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Аналогично вводятся операции б&amp;amp;oacute;льших приоритетов. Для &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;левоассоциативных &lt;/ins&gt;операций ищется последнее вхождение, для правоассоциативных &amp;amp;mdash; первое;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Если операции не были найдены, то подстрока может содержать выражение в скобках. В этом случае результат равен &amp;lt;tt&amp;gt;calc(l + 1, r - 1)&amp;lt;/tt&amp;gt;;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Если операции не были найдены, то подстрока может содержать выражение в скобках. В этом случае результат равен &amp;lt;tt&amp;gt;calc(l + 1, r - 1)&amp;lt;/tt&amp;gt;;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Иначе подстрока может содержать вызов функции. В этом случае следует вычислить аргументы и применить к ним соответствующую функцию;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Иначе подстрока может содержать вызов функции. В этом случае следует вычислить аргументы и применить к ним соответствующую функцию;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Ctrlalt</name></author>
	</entry>
	<entry>
		<id>https://acm.khpnets.info/w39/index.php?title=%D0%9D%D0%B0%D0%B8%D0%B2%D0%BD%D1%8B%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%81%D0%B8%D0%B2%D0%BD%D1%8B%D0%B9_%D1%80%D0%B0%D0%B7%D0%B1%D0%BE%D1%80&amp;diff=1548&amp;oldid=prev</id>
		<title>Ctrlalt в 22:10, 27 мая 2015</title>
		<link rel="alternate" type="text/html" href="https://acm.khpnets.info/w39/index.php?title=%D0%9D%D0%B0%D0%B8%D0%B2%D0%BD%D1%8B%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%81%D0%B8%D0%B2%D0%BD%D1%8B%D0%B9_%D1%80%D0%B0%D0%B7%D0%B1%D0%BE%D1%80&amp;diff=1548&amp;oldid=prev"/>
		<updated>2015-05-27T22:10:18Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Предыдущая версия&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Версия от 22:10, 27 мая 2015&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l54&quot;&gt;Строка 54:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 54:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;      return res;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;      return res;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  }&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  }&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category: Разбор выражений]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Ctrlalt</name></author>
	</entry>
	<entry>
		<id>https://acm.khpnets.info/w39/index.php?title=%D0%9D%D0%B0%D0%B8%D0%B2%D0%BD%D1%8B%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%81%D0%B8%D0%B2%D0%BD%D1%8B%D0%B9_%D1%80%D0%B0%D0%B7%D0%B1%D0%BE%D1%80&amp;diff=1541&amp;oldid=prev</id>
		<title>Ctrlalt в 20:34, 23 мая 2015</title>
		<link rel="alternate" type="text/html" href="https://acm.khpnets.info/w39/index.php?title=%D0%9D%D0%B0%D0%B8%D0%B2%D0%BD%D1%8B%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%81%D0%B8%D0%B2%D0%BD%D1%8B%D0%B9_%D1%80%D0%B0%D0%B7%D0%B1%D0%BE%D1%80&amp;diff=1541&amp;oldid=prev"/>
		<updated>2015-05-23T20:34:29Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Предыдущая версия&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Версия от 20:34, 23 мая 2015&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Строка 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Найдём значение выражения, описываемого подстрокой &amp;lt;tt&gt;s[l..r]&amp;lt;/tt&gt;. Посмотрим, какая операция должна быть выполнена последней:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* Если подстрока содержит &amp;lt;tt&gt;&#039;+&#039;&amp;lt;/tt&gt; или &amp;lt;tt&gt;&#039;-&#039;&amp;lt;/tt&gt; вне скобок, то последней выполняется самая правая из этих операций. Пусть это &amp;lt;tt&gt;&#039;+&#039;&amp;lt;/tt&gt; на позиции &amp;lt;tt&gt;p1&amp;lt;/tt&gt;, тогда результат равен &amp;lt;tt&gt;calc(l, p1 - 1) + calc(p1 + 1, r)&amp;lt;/tt&gt;;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* Иначе, если подстрока содержит &amp;lt;tt&gt;&#039;*&#039;&amp;lt;/tt&gt; или &amp;lt;tt&gt;&#039;/&#039;&amp;lt;/tt&gt; вне скобок, то последней выполняется самая правая из этих операций. Пусть это &amp;lt;tt&gt;&#039;*&#039;&amp;lt;/tt&gt; на позиции &amp;lt;tt&gt;p2&amp;lt;/tt&gt;, тогда результат равен &amp;lt;tt&gt;calc(l, p2 - 1) * calc(p2 + 1, r)&amp;lt;/tt&gt;;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* Аналогично вводятся операции б&amp;amp;oacute;льших приоритетов. Для левоассоциативнх операций ищется последнее вхождение, для правоассоциативных &amp;amp;mdash; первое;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* Если операции не были найдены, то подстрока может содержать выражение в скобках. В этом случае результат равен &amp;lt;tt&gt;calc(l + 1, r - 1)&amp;lt;/tt&gt;;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* Иначе подстрока может содержать вызов функции. В этом случае следует вычислить аргументы и применить к ним соответствующую функцию;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* Иначе подстрока может содержать переменную или константу.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  double calc(int l, int r, double x) {&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  double calc(int l, int r, double x) {&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;      int d = 0, p1 = -1, p2 = -1, p3 = -1;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;      int d = 0, p1 = -1, p2 = -1, p3 = -1;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Ctrlalt</name></author>
	</entry>
	<entry>
		<id>https://acm.khpnets.info/w39/index.php?title=%D0%9D%D0%B0%D0%B8%D0%B2%D0%BD%D1%8B%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%81%D0%B8%D0%B2%D0%BD%D1%8B%D0%B9_%D1%80%D0%B0%D0%B7%D0%B1%D0%BE%D1%80&amp;diff=1539&amp;oldid=prev</id>
		<title>Ctrlalt: Новая страница: « double calc(int l, int r, double x) {      int d = 0, p1 = -1, p2 = -1, p3 = -1;      for (int i = l; i &lt;= r; i++) {          if (s[i] == &#039;(&#039;)              d++; …»</title>
		<link rel="alternate" type="text/html" href="https://acm.khpnets.info/w39/index.php?title=%D0%9D%D0%B0%D0%B8%D0%B2%D0%BD%D1%8B%D0%B9_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%81%D0%B8%D0%B2%D0%BD%D1%8B%D0%B9_%D1%80%D0%B0%D0%B7%D0%B1%D0%BE%D1%80&amp;diff=1539&amp;oldid=prev"/>
		<updated>2015-05-23T20:23:26Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: « double calc(int l, int r, double x) {      int d = 0, p1 = -1, p2 = -1, p3 = -1;      for (int i = l; i &amp;lt;= r; i++) {          if (s[i] == &amp;#039;(&amp;#039;)              d++; …»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt; double calc(int l, int r, double x) {&lt;br /&gt;
     int d = 0, p1 = -1, p2 = -1, p3 = -1;&lt;br /&gt;
     for (int i = l; i &amp;lt;= r; i++) {&lt;br /&gt;
         if (s[i] == &amp;#039;(&amp;#039;)&lt;br /&gt;
             d++;&lt;br /&gt;
         if (s[i] == &amp;#039;)&amp;#039;)&lt;br /&gt;
             d--;&lt;br /&gt;
         if (!d) {&lt;br /&gt;
             if (s[i] == &amp;#039;+&amp;#039; || s[i] == &amp;#039;-&amp;#039;)&lt;br /&gt;
                 p1 = i;&lt;br /&gt;
             if (s[i] == &amp;#039;*&amp;#039; || s[i] == &amp;#039;/&amp;#039;)&lt;br /&gt;
                 p2 = i;&lt;br /&gt;
             if (s[i] == &amp;#039;^&amp;#039; &amp;amp;&amp;amp; p3 == -1)&lt;br /&gt;
                 p3 = i;&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
     if (p1 != -1) {&lt;br /&gt;
         if (s[p1] == &amp;#039;+&amp;#039;)&lt;br /&gt;
             return calc(l, p1 - 1, x) + calc(p1 + 1, r, x);&lt;br /&gt;
         else&lt;br /&gt;
             return calc(l, p1 - 1, x) - calc(p1 + 1, r, x);&lt;br /&gt;
     }&lt;br /&gt;
     if (p2 != -1) {&lt;br /&gt;
         if (s[p2] == &amp;#039;*&amp;#039;)&lt;br /&gt;
             return calc(l, p2 - 1, x) * calc(p2 + 1, r, x);&lt;br /&gt;
         else&lt;br /&gt;
             return calc(l, p2 - 1, x) / calc(p2 + 1, r, x);&lt;br /&gt;
     }&lt;br /&gt;
     if (p3 != -1)&lt;br /&gt;
         return pow(calc(l, p3 - 1, x), calc(p3 + 1, r, x));&lt;br /&gt;
     if (s[l] == &amp;#039;(&amp;#039; &amp;amp;&amp;amp; s[r] == &amp;#039;)&amp;#039;)&lt;br /&gt;
         return calc(l + 1, r - 1, x);&lt;br /&gt;
     if (s[l] == &amp;#039;c&amp;#039;)&lt;br /&gt;
         return cos(calc(l + 4, r - 1, x));&lt;br /&gt;
     if (s[l] == &amp;#039;s&amp;#039; &amp;amp;&amp;amp; s[l + 1] == &amp;#039;i&amp;#039;)&lt;br /&gt;
         return sin(calc(l + 4, r - 1, x));&lt;br /&gt;
     if (s[l] == &amp;#039;s&amp;#039; &amp;amp;&amp;amp; s[l + 1] == &amp;#039;q&amp;#039;)&lt;br /&gt;
         return sqrt(calc(l + 5, r - 1, x));&lt;br /&gt;
     if (s[l] == &amp;#039;x&amp;#039;)&lt;br /&gt;
         return x;&lt;br /&gt;
     double res;&lt;br /&gt;
     char tmp = s[r + 1];&lt;br /&gt;
     s[r + 1] = 0;&lt;br /&gt;
     sscanf(s + l, &amp;quot;%lf&amp;quot;, &amp;amp;res);&lt;br /&gt;
     s[r + 1] = tmp;&lt;br /&gt;
     return res;&lt;br /&gt;
 }&lt;/div&gt;</summary>
		<author><name>Ctrlalt</name></author>
	</entry>
</feed>