<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<atom:link href="https://www.gentoo-zh.org/extern.php?action=feed&amp;tid=330&amp;type=rss" rel="self" type="application/rss+xml" />
		<title><![CDATA[Gentoo中文社区 / C 练习实例21]]></title>
		<link>https://www.gentoo-zh.org/viewtopic.php?id=330</link>
		<description><![CDATA[C 练习实例21 最近发表的帖子。]]></description>
		<lastBuildDate>Mon, 29 Aug 2022 07:07:20 +0000</lastBuildDate>
		<generator>FluxBB</generator>
		<item>
			<title><![CDATA[C 练习实例21]]></title>
			<link>https://www.gentoo-zh.org/viewtopic.php?pid=336#p336</link>
			<description><![CDATA[<p>题目：猴子吃桃问题：猴子第一天摘下若干个桃子，当即吃了一半，还不瘾，又多吃了一个 第二天早上又将剩下的桃子吃掉一半，又多吃了一个。以后每天早上都吃了前一天剩下 的一半零一个。到第10天早上想再吃时，见只剩下一个桃子了。求第一天共摘了多少。</p><p>程序分析：采取逆向思维的方法，从后往前推断。</p><p>1) 设x1为前一天桃子数，设x2为第二天桃子数， 则：</p><p>x2=x1/2-1, x1=(x2+1)*2</p><p>x3=x2/2-1, x2=(x3+1)*2</p><p>以此类推： x前=(x后+1)*2</p><p>2) 从第10天可以类推到第1天，是一个循环过程。</p><p>程序源代码：</p><p>#include &lt;stdio.h&gt;<br />#include &lt;stdlib.h&gt;<br />int main(){<br />&#160; &#160; int day, x1 = 0, x2;<br />&#160; &#160; day=9;<br />&#160; &#160; x2=1;<br />&#160; &#160; while(day&gt;0) {<br />&#160; &#160; &#160; &#160; x1=(x2+1)*2;&#160; // 第一天的桃子数是第2天桃子数加1后的2倍<br />&#160; &#160; &#160; &#160; x2=x1;<br />&#160; &#160; &#160; &#160; day--;<br />&#160; &#160; }<br />&#160; &#160; printf(&quot;总数为 %d\n&quot;,x1);<br />&#160; &#160; <br />&#160; &#160; return 0;<br />}</p>]]></description>
			<author><![CDATA[dummy@example.com (batsom)]]></author>
			<pubDate>Mon, 29 Aug 2022 07:07:20 +0000</pubDate>
			<guid>https://www.gentoo-zh.org/viewtopic.php?pid=336#p336</guid>
		</item>
	</channel>
</rss>
