﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-SunKai's Blog-随笔分类-其它</title><link>http://www.cppblog.com/sunkai/category/6309.html</link><description>I'll try my best to achieve my dream.</description><language>zh-cn</language><lastBuildDate>Wed, 10 Feb 2010 03:41:14 GMT</lastBuildDate><pubDate>Wed, 10 Feb 2010 03:41:14 GMT</pubDate><ttl>60</ttl><item><title>无限重复数整除问题与部分验证</title><link>http://www.cppblog.com/sunkai/archive/2010/02/09/107580.html</link><dc:creator>SunKai</dc:creator><author>SunKai</author><pubDate>Tue, 09 Feb 2010 07:14:00 GMT</pubDate><guid>http://www.cppblog.com/sunkai/archive/2010/02/09/107580.html</guid><wfw:comment>http://www.cppblog.com/sunkai/comments/107580.html</wfw:comment><comments>http://www.cppblog.com/sunkai/archive/2010/02/09/107580.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.cppblog.com/sunkai/comments/commentRss/107580.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/sunkai/services/trackbacks/107580.html</trackback:ping><description><![CDATA[<p>还是那位中国朋友（以前的问题：<a href="http://www.cppblog.com/sunkai/archive/2009/12/27/104198.html">http://www.cppblog.com/sunkai/archive/2009/12/27/104198.html</a>）题的问题。不过这个问题的历史更久远。是他自己发现的一个&#8220;很可能正确但是无法证明的问题&#8221;。受他之托，我给他做了个简单的验证的程序。<br><br><strong style="COLOR: red">题目是这样的，任意一个正整数P，一个正整数Q，存在M，把P写M次变成的新数是Q的倍数<span style="COLOR: #0000ff">[注1]<br></span>举个简单的例子：<br>P = 12<br>Q = 11<br>则当M=11，即新数为1212121212121212121212/11 = 110192837465564738292，即这个命题在P=12,Q=11情况下成立。</strong><br><br><strong><span style="COLOR: #0000ff">注1：</span><br></strong><span style="COLOR: #339966">这里的整除是宽泛地说的。只要相除的结果是有限小数就可以了。 <br>例如 <br>P=1 Q=2 <br>1/2 = 0.5 <br>这里就看做ans = 1<br><br>（感谢网友wangl&nbsp;&nbsp;指出。）</span><br><br>我简单让程序跑了几秒，已验证了P在1~1000，Q在1~1000的情况下这个命题都是对的。而给我出问题的那位朋友可以通过数学证明在P小于10时这个命题是真命题。<br><br>但是关于这个命题的完整证明仍然没有人给出，那位朋友曾经找了几位名校的人，都没有得到答复。如果看到这篇文章的你有任何好的思路和想法，欢迎回复，并与我们联系。</p>
<br>给出代码（为了让我的那位朋友方便，加了个简陋的"menu"，各位见笑了）<br>
<div style="BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; PADDING-BOTTOM: 4px; BACKGROUND-COLOR: #eeeeee; PADDING-LEFT: 4px; WIDTH: 98%; PADDING-RIGHT: 5px; FONT-SIZE: 13px; WORD-BREAK: break-all; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 4px"><span style="COLOR: #008080">&nbsp;1</span><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"><span style="COLOR: #000000">#include</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">stdio.h</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;2</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif">#include</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">.h</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;3</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif">#include</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">stdlib.h</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;4</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">long</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">long</span><span style="COLOR: #000000">&nbsp;mov[</span><span style="COLOR: #000000">20</span><span style="COLOR: #000000">];<br></span><span style="COLOR: #008080">&nbsp;5</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;solve(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;x,&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;y,&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;l)<br></span><span style="COLOR: #008080">&nbsp;6</span><span style="COLOR: #000000"><img id=Codehighlighter1_106_342_Open_Image onclick="this.style.display='none'; Codehighlighter1_106_342_Open_Text.style.display='none'; Codehighlighter1_106_342_Closed_Image.style.display='inline'; Codehighlighter1_106_342_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_106_342_Closed_Image onclick="this.style.display='none'; Codehighlighter1_106_342_Closed_Text.style.display='none'; Codehighlighter1_106_342_Open_Image.style.display='inline'; Codehighlighter1_106_342_Open_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif"></span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_106_342_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_106_342_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">&nbsp;7</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">long</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">long</span><span style="COLOR: #000000">&nbsp;f&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;x;<br></span><span style="COLOR: #008080">&nbsp;8</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;i;<br></span><span style="COLOR: #008080">&nbsp;9</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(l&nbsp;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">)<br></span><span style="COLOR: #008080">10</span><span style="COLOR: #000000"><img id=Codehighlighter1_148_204_Open_Image onclick="this.style.display='none'; Codehighlighter1_148_204_Open_Text.style.display='none'; Codehighlighter1_148_204_Closed_Image.style.display='inline'; Codehighlighter1_148_204_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_148_204_Closed_Image onclick="this.style.display='none'; Codehighlighter1_148_204_Closed_Text.style.display='none'; Codehighlighter1_148_204_Open_Image.style.display='inline'; Codehighlighter1_148_204_Open_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_148_204_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_148_204_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">11</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;&nbsp;i</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">20</span><span style="COLOR: #000000">;&nbsp;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(mov[i]&nbsp;</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">&nbsp;x)&nbsp;</span><span style="COLOR: #0000ff">break</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">12</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;l&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;i;<br></span><span style="COLOR: #008080">13</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif">&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">14</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;l&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;mov[l];<br></span><span style="COLOR: #008080">15</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">(y&nbsp;</span><span style="COLOR: #000000">%</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">5</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">)&nbsp;y</span><span style="COLOR: #000000">/=</span><span style="COLOR: #000000">5</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">16</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">((y</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">)&nbsp;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">)&nbsp;y</span><span style="COLOR: #000000">&gt;&gt;=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">17</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;i&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">18</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">(f&nbsp;</span><span style="COLOR: #000000">%</span><span style="COLOR: #000000">&nbsp;y)<br></span><span style="COLOR: #008080">19</span><span style="COLOR: #000000"><img id=Codehighlighter1_293_329_Open_Image onclick="this.style.display='none'; Codehighlighter1_293_329_Open_Text.style.display='none'; Codehighlighter1_293_329_Closed_Image.style.display='inline'; Codehighlighter1_293_329_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_293_329_Closed_Image onclick="this.style.display='none'; Codehighlighter1_293_329_Closed_Text.style.display='none'; Codehighlighter1_293_329_Open_Image.style.display='inline'; Codehighlighter1_293_329_Open_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_293_329_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_293_329_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">20</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;f&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;f</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">l&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;x;<br></span><span style="COLOR: #008080">21</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;f&nbsp;</span><span style="COLOR: #000000">%=</span><span style="COLOR: #000000">&nbsp;y;<br></span><span style="COLOR: #008080">22</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i&nbsp;</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">23</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif">&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">24</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;i;<br></span><span style="COLOR: #008080">25</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif">}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">26</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;menu()<br></span><span style="COLOR: #008080">27</span><span style="COLOR: #000000"><img id=Codehighlighter1_356_619_Open_Image onclick="this.style.display='none'; Codehighlighter1_356_619_Open_Text.style.display='none'; Codehighlighter1_356_619_Closed_Image.style.display='inline'; Codehighlighter1_356_619_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_356_619_Closed_Image onclick="this.style.display='none'; Codehighlighter1_356_619_Closed_Text.style.display='none'; Codehighlighter1_356_619_Open_Image.style.display='inline'; Codehighlighter1_356_619_Open_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif"></span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_356_619_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_356_619_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">28</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;system(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">cls</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br></span><span style="COLOR: #008080">29</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">==================\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br></span><span style="COLOR: #008080">30</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">=&nbsp;&nbsp;1.&nbsp;单个验证&nbsp;&nbsp;&nbsp;=\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br></span><span style="COLOR: #008080">31</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">=&nbsp;&nbsp;2.&nbsp;群体证明&nbsp;&nbsp;&nbsp;=\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br></span><span style="COLOR: #008080">32</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">==================\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br></span><span style="COLOR: #008080">33</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">=&nbsp;0&lt;P&lt;1000000000&nbsp;=\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br></span><span style="COLOR: #008080">34</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">=&nbsp;0&lt;Q&lt;2000000000&nbsp;=\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br></span><span style="COLOR: #008080">35</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">==================\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br></span><span style="COLOR: #008080">36</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">=&gt;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br></span><span style="COLOR: #008080">37</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif">}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">38</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;main(</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">)<br></span><span style="COLOR: #008080">39</span><span style="COLOR: #000000"><img id=Codehighlighter1_636_1292_Open_Image onclick="this.style.display='none'; Codehighlighter1_636_1292_Open_Text.style.display='none'; Codehighlighter1_636_1292_Closed_Image.style.display='inline'; Codehighlighter1_636_1292_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_636_1292_Closed_Image onclick="this.style.display='none'; Codehighlighter1_636_1292_Closed_Text.style.display='none'; Codehighlighter1_636_1292_Open_Image.style.display='inline'; Codehighlighter1_636_1292_Open_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif"></span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_636_1292_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_636_1292_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">40</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;i,&nbsp;j,&nbsp;l;<br></span><span style="COLOR: #008080">41</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;s,&nbsp;p,&nbsp;q;<br></span><span style="COLOR: #008080">42</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;lp,&nbsp;rp;<br></span><span style="COLOR: #008080">43</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;lq,&nbsp;rq;<br></span><span style="COLOR: #008080">44</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;mov[</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">]&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">45</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;&nbsp;i</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">20</span><span style="COLOR: #000000">;&nbsp;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)&nbsp;mov[i]&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;mov[i</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">10</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">46</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;menu();<br></span><span style="COLOR: #008080">47</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">(scanf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%d</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">s)&nbsp;</span><span style="COLOR: #000000">!=</span><span style="COLOR: #000000">&nbsp;EOF)<br></span><span style="COLOR: #008080">48</span><span style="COLOR: #000000"><img id=Codehighlighter1_789_1279_Open_Image onclick="this.style.display='none'; Codehighlighter1_789_1279_Open_Text.style.display='none'; Codehighlighter1_789_1279_Closed_Image.style.display='inline'; Codehighlighter1_789_1279_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_789_1279_Closed_Image onclick="this.style.display='none'; Codehighlighter1_789_1279_Closed_Text.style.display='none'; Codehighlighter1_789_1279_Open_Image.style.display='inline'; Codehighlighter1_789_1279_Open_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_789_1279_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_789_1279_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">49</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">switch</span><span style="COLOR: #000000">(s)<br></span><span style="COLOR: #008080">50</span><span style="COLOR: #000000"><img id=Codehighlighter1_805_1266_Open_Image onclick="this.style.display='none'; Codehighlighter1_805_1266_Open_Text.style.display='none'; Codehighlighter1_805_1266_Closed_Image.style.display='inline'; Codehighlighter1_805_1266_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_805_1266_Closed_Image onclick="this.style.display='none'; Codehighlighter1_805_1266_Closed_Text.style.display='none'; Codehighlighter1_805_1266_Open_Image.style.display='inline'; Codehighlighter1_805_1266_Open_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_805_1266_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_805_1266_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">51</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">case</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">:<br></span><span style="COLOR: #008080">52</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">输入P&nbsp;Q&nbsp;=&gt;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);&nbsp;<br></span><span style="COLOR: #008080">53</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scanf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%d&nbsp;%d</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">p,&nbsp;</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">q);<br></span><span style="COLOR: #008080">54</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Ans&nbsp;=&nbsp;%d\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;solve(p,&nbsp;q,&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">)</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">);<br></span><span style="COLOR: #008080">55</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;system(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">pause</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br></span><span style="COLOR: #008080">56</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">break</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">57</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">case</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">:<br></span><span style="COLOR: #008080">58</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">输入LP&nbsp;RP&nbsp;LQ&nbsp;RQ&nbsp;=&gt;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br></span><span style="COLOR: #008080">59</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scanf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%d&nbsp;%d&nbsp;%d&nbsp;%d</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">lp,&nbsp;</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">rp,&nbsp;</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">lq,&nbsp;</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">rq);<br></span><span style="COLOR: #008080">60</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">正在证明<img src="http://www.cppblog.com/Images/dot.gif"></span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);&nbsp;<br></span><span style="COLOR: #008080">61</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(l</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">,i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">lp;&nbsp;i</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">rp;&nbsp;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br></span><span style="COLOR: #008080">62</span><span style="COLOR: #000000"><img id=Codehighlighter1_1096_1173_Open_Image onclick="this.style.display='none'; Codehighlighter1_1096_1173_Open_Text.style.display='none'; Codehighlighter1_1096_1173_Closed_Image.style.display='inline'; Codehighlighter1_1096_1173_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_1096_1173_Closed_Image onclick="this.style.display='none'; Codehighlighter1_1096_1173_Closed_Text.style.display='none'; Codehighlighter1_1096_1173_Open_Image.style.display='inline'; Codehighlighter1_1096_1173_Open_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_1096_1173_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_1096_1173_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">63</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">(i</span><span style="COLOR: #000000">&gt;=</span><span style="COLOR: #000000">mov[l])&nbsp;l&nbsp;</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">64</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(j</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">lq;&nbsp;j</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">rq;&nbsp;j</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)&nbsp;solve(i,&nbsp;j,&nbsp;l);<br></span><span style="COLOR: #008080">65</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">66</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">\b\b\b\b\b\b\b\b\b\b\b证明完毕.\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br></span><span style="COLOR: #008080">67</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;system(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">pause</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br></span><span style="COLOR: #008080">68</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">break</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">69</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">70</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;menu();<br></span><span style="COLOR: #008080">71</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif">&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">72</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">73</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif">}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">74</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span></div>
<p><br>程序运算较快，第二个功能是在大范围内验证命题。<br>0&lt;p&lt;1000000000<br>0&lt;q&lt;2000000000<br>均可<br>lp, rp是指p的左右界<br>lq, rq是指q的左右界<br><br>我发现当p,q大一些的时候结果是很恐怖的。<br>p=543212345 q=2123456789时，Ans = 9166640，也就是说要重复写9166640次，才能让新的数整除q</p>
<img src ="http://www.cppblog.com/sunkai/aggbug/107580.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/sunkai/" target="_blank">SunKai</a> 2010-02-09 15:14 <a href="http://www.cppblog.com/sunkai/archive/2010/02/09/107580.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>人工智能——弈心1.0.1.4</title><link>http://www.cppblog.com/sunkai/archive/2009/12/31/104575.html</link><dc:creator>SunKai</dc:creator><author>SunKai</author><pubDate>Thu, 31 Dec 2009 11:12:00 GMT</pubDate><guid>http://www.cppblog.com/sunkai/archive/2009/12/31/104575.html</guid><wfw:comment>http://www.cppblog.com/sunkai/comments/104575.html</wfw:comment><comments>http://www.cppblog.com/sunkai/archive/2009/12/31/104575.html#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://www.cppblog.com/sunkai/comments/commentRss/104575.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/sunkai/services/trackbacks/104575.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;&nbsp; 弈心一个有着较强中国象棋博弈能力的博弈软件，同时有相关人工智能探索及研究的功能。可以进行人机博弈，观察研究计算机模拟的计算机对计算机对弈，同时可以设置相关人工智能的多种参数并显示计算机思考过程参数和细节，通过计算机思考过程中相关的表现和计算机的棋力表现，研究不同参数下计算机的博弈性能和特点。&nbsp;&nbsp;&nbsp; 本软件具有跨平台能力。本程序...&nbsp;&nbsp;<a href='http://www.cppblog.com/sunkai/archive/2009/12/31/104575.html'>阅读全文</a><img src ="http://www.cppblog.com/sunkai/aggbug/104575.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/sunkai/" target="_blank">SunKai</a> 2009-12-31 19:12 <a href="http://www.cppblog.com/sunkai/archive/2009/12/31/104575.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>连接正凸边形所有对角线后的图形中三角形的个数与凸多边形边数的关系</title><link>http://www.cppblog.com/sunkai/archive/2009/12/27/104198.html</link><dc:creator>SunKai</dc:creator><author>SunKai</author><pubDate>Sun, 27 Dec 2009 08:55:00 GMT</pubDate><guid>http://www.cppblog.com/sunkai/archive/2009/12/27/104198.html</guid><wfw:comment>http://www.cppblog.com/sunkai/comments/104198.html</wfw:comment><comments>http://www.cppblog.com/sunkai/archive/2009/12/27/104198.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.cppblog.com/sunkai/comments/commentRss/104198.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/sunkai/services/trackbacks/104198.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 手算只算到6就算不下去了，由于怀疑没有什么规律（这个题我的一个中国朋友的外国朋友说的），因此直接写了份代码暴力求解。代码写得很烂，没有注重什么效率，并且直接用的解析几何做的，不如计算几何精确度高，加之调用了库的三角函数，精度上的问题可能导致我的计算结果与实际有出入。计算机跑了1~19，再大了就跑不动了（时间和空间都受不了），估计优化下算法会跑得更多一些。1~19的答案：18351102876321...&nbsp;&nbsp;<a href='http://www.cppblog.com/sunkai/archive/2009/12/27/104198.html'>阅读全文</a><img src ="http://www.cppblog.com/sunkai/aggbug/104198.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/sunkai/" target="_blank">SunKai</a> 2009-12-27 16:55 <a href="http://www.cppblog.com/sunkai/archive/2009/12/27/104198.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>数独推理解答程序代码</title><link>http://www.cppblog.com/sunkai/archive/2008/04/05/46322.html</link><dc:creator>SunKai</dc:creator><author>SunKai</author><pubDate>Sat, 05 Apr 2008 10:52:00 GMT</pubDate><guid>http://www.cppblog.com/sunkai/archive/2008/04/05/46322.html</guid><wfw:comment>http://www.cppblog.com/sunkai/comments/46322.html</wfw:comment><comments>http://www.cppblog.com/sunkai/archive/2008/04/05/46322.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.cppblog.com/sunkai/comments/commentRss/46322.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/sunkai/services/trackbacks/46322.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 解答程序介绍及编译后的程序下载:http://www.cppblog.com/sunkai/archive/2008/04/04/46250.htmlGCC下编译测试通过/*&nbsp;&nbsp;Author:&nbsp;Sun&nbsp;Kai&nbsp;(S.K)&nbsp;&nbsp;E-mail:&nbsp;sunkai&nbsp;[at]&nbsp;msn&nbsp;[dot]&n...&nbsp;&nbsp;<a href='http://www.cppblog.com/sunkai/archive/2008/04/05/46322.html'>阅读全文</a><img src ="http://www.cppblog.com/sunkai/aggbug/46322.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/sunkai/" target="_blank">SunKai</a> 2008-04-05 18:52 <a href="http://www.cppblog.com/sunkai/archive/2008/04/05/46322.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>数独推理解答程序</title><link>http://www.cppblog.com/sunkai/archive/2008/04/04/46250.html</link><dc:creator>SunKai</dc:creator><author>SunKai</author><pubDate>Fri, 04 Apr 2008 03:55:00 GMT</pubDate><guid>http://www.cppblog.com/sunkai/archive/2008/04/04/46250.html</guid><wfw:comment>http://www.cppblog.com/sunkai/comments/46250.html</wfw:comment><comments>http://www.cppblog.com/sunkai/archive/2008/04/04/46250.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cppblog.com/sunkai/comments/commentRss/46250.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/sunkai/services/trackbacks/46250.html</trackback:ping><description><![CDATA[<p>下载地址:http://www.cppblog.com/Files/sunkai/sudoku.rar<br>由于只是为了描述算法并进行科学计算,我并没有编写很友好的GUI,只是在控制台下工作,不过算法为推理算法,它将模拟人解数独的思维进行推理,如果推理失败还可以用搜索算法解答,因此,只要输入的数独有解,那么就一定可以在较短时间内解出<br>RAR包内有两个程序,二者核心相同,只是表示方法不同,它们都只需要输入一个用数字描述的数独问题<br>数独中未知数用0表示,例如:<br>302008000000005001000000320840290000190000062000063049051000000900700000000500706<br>输入后其中一个名为sudoku_单步跟踪.exe程序在输入一个数独问题后按两次回车后开始推理过程,每推出一步输出一次并暂停,按回车可以继续进行下一步推理,直到出结果<br>另一个名为sudoku_非单步跟踪.exe的程序在输入一个数独问题后按一次回车后就自动推理(不暂停),同样显示每步推理信息,直到输出结果<br>以下提供多组数据供测试:<br>302008000000005001000000320840290000190000062000063049051000000900700000000500706</p>
<p>002000000105042000090005801040160000500000008000039040704900050000250104000000300</p>
<p>900007000080000602005102400000009516000000000651400000003908100408000060000200009</p>
<p>008000000000006070302700045000520060070000010050098000680001207010300000000000300</p>
<p>020090300000005000400600120900106078000000000170908006054009001000500000007030090</p>
<p>000000000040026009930008100003009074700000008890100300008700036300280040000000000</p>
<p>900104007480000020000205400102306709000000000508407306009508000010000040300609002</p>
<p>004003000700000000091607043000780069900000007210096000180305670000000008000900300</p>
<p>000090008010003650000100230170800000900246001000007082023001000081300040500060000</p>
<p>000040020000006010000810576730002100500000007009500082952038000060200000070050000</p>
<p>090003000000070600080000420010602500500000008003801060036000070005020000000300080</p>
<p>100004000000900080830050200300009070760305019080400006006010038070003000000600005</p>
<p>060000007000306090000010650008700560047000230051002400023050000090607000800000020</p>
<p>005000300000300904000054617010080000400501003000030070358760000204005000001000700<br>程序代码可能在日后公开</p>
<img src ="http://www.cppblog.com/sunkai/aggbug/46250.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/sunkai/" target="_blank">SunKai</a> 2008-04-04 11:55 <a href="http://www.cppblog.com/sunkai/archive/2008/04/04/46250.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>我的OI之路&amp;NOIP2007记</title><link>http://www.cppblog.com/sunkai/archive/2008/03/08/43937.html</link><dc:creator>SunKai</dc:creator><author>SunKai</author><pubDate>Sat, 08 Mar 2008 00:58:00 GMT</pubDate><guid>http://www.cppblog.com/sunkai/archive/2008/03/08/43937.html</guid><wfw:comment>http://www.cppblog.com/sunkai/comments/43937.html</wfw:comment><comments>http://www.cppblog.com/sunkai/archive/2008/03/08/43937.html#Feedback</comments><slash:comments>9</slash:comments><wfw:commentRss>http://www.cppblog.com/sunkai/comments/commentRss/43937.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/sunkai/services/trackbacks/43937.html</trackback:ping><description><![CDATA[<p>我与OI的接触最早应该是在小学四年级，那时我十分喜欢摆弄家里的电脑，由于偶然的经历买了一本《电脑爱好者》杂志，结果从此它成为我至尽仍旧购买的一本杂志之一，它可以说是我的启蒙老师。我不断的从中学到许许多多的电脑技巧，同时了解了Flash动画和编程。可能是由于天赋，可能是由于兴趣，我的电脑水平与日俱增，最后自己的小学班主任都了解到了，因而——<br>那时小学可以说是实行素质教育，我们的业余丰富多采，学校为了计算机比赛开设了一个&#8220;微机兴趣小组&#8221;，本来我是不知道这件事的，但是由于班主任知道，经她的推荐，我进入了那小组中，从此开始了我的编程之路。<br>那时的编程我至今记忆尤新，因为那就是logo，小乌龟，输入repeat 360[fd 1 rt 1]就可以一个画圆fd 100 lt 100 fd 100 lt 100 fd 100 lt 100 fd 100就可以画一个正方形。我去小组时，小组中的其他同学已经学了好几次了，但是几次课后，我发现我已经在logo方面赶了上来（因为不只是logo,我们的比赛中还有打字速度测试），并且甚至超过了别的同学。不过我的打字速度不是最快的，而且总是出现错误，但是最后我还是练习到可以一分钟打300多个字的速度，用我们比赛专用的软件测可以到300分。那时我们总是在老师背后找到学校电脑中隐藏的CS(那是中午在学校午休的老师消遣用的)，并且总是背着老师联网玩CS。渐渐的，我学习了&#8220;过程&#8221;，绘出美丽图形用的第归等，那时还不知道，这些分别就是函数和算法。一个多月后，我们小组中选拔3人代表全校参赛，虽然我的打字速度在几人中不突出，但我的logo却名列第一。最后我们三人中我和另一女同学获得了一等奖，另一人获得了二等奖。比赛后我才知道，我的打字才得了70多分，而那个得二等奖的得了200多分，我的成绩全考的是logo提高上去的。<br>后来，我们小组中由于我会Flash，所以我又被老师单独辅导，制作flash动画，最后到录音的每个细节都是我们那经验丰富的老师亲自找人帮助我录的。最后众望所归，我顺利的进入了市里的比赛，又顺利的进入了山东省的比赛，最后获得了一等奖。这一切，归功于我的班主任和计算机老师，再就是启蒙我的那本《电脑爱好者》杂志。<br>当时我除了知道有数学奥赛，其它的什么都不知道，更不知道有信息学奥赛（OI）。（直到几月前我才知道，小学参加的logo比赛就是计算机奥赛），我的计算机路 到了初中又遇到了一位指路人，没有她，就没有我的今天。<br>那日，我们的计算机老师有事，所以找了一名女老师帮助他代客。当天学的是无聊的Word，上机课。由于旁边的一名同学的word有问题，所以请求那个女老师帮助修复一下，但是那个女老师搞了半天也没搞出来。由于以前我遇到过这种情况，所以最后我用了几步就帮助那同学搞出来了。那女老师看了我一下，思索片刻问我是不是参加过全国中小学生电脑作品大赛，她说她好象在区里的比赛中见过我。我说是，然后我问她我能否代表学校参加今年的比赛，她说可以。<br>初中的那次比赛我准备的很不充分，因为初中很忙，寒假去掉写作业和到爷爷家过年就没几天了，同时由于当时我缺少素材，动画做的不太好，比赛过后，老师告诉我的作品没能进入省里的比赛，只是一个市二等奖，不过她鼓励我让我继续努力，同时给了我一本厚重的老书——《Pascal程序设计》。<br>在此之前，我在《电脑爱好者》杂志上看到VB编写出的应用程序，并曾买过基本VB的数，但由于当时英语还没怎么学，看了不到一半就不再看了，因为那些需要记忆的太多了，而我是一个一个字母的记忆。例如caption我就C,A,P,T,I,O,N的背。<br>老师给我那本书同时说，我们学校可以参加信息学奥赛，奥赛就考这个，回家好好看，下学期你就参加奥赛吧！<br>计算机奥赛？太好了，不过这本书好厚，我看了前面的几页就不再看了。那本书一直躺在电脑桌旁。到了初一的暑假前，那位女老师又给我了几本《奥赛经典》和其它的许许多多的信息学奥赛书，可是我没有看它们，只是在老师的嘱咐下于暑假看了那本《Pascal程序设计》的前五章。假期中才发现程序设计是如此的有意思，我用那所学的五章内容自己编写一个井字棋，还编写 中文编程等若干个小程序。但是我看那本书看的太晚了。开学后，老师问我看的情况，我只好如实照答，老师没有批我，只是说今年报个名先试试，今年不好还有明年。11月的信息学奥赛开始了，我在考试前翻阅了一些前几年的考题，然后胸有成竹的去考试了，初赛是笔试。结果我发现考试比我想象的难多了，什么栈，图，二叉树，我根本不知道是什么,许多的函数我都不知道它的意思。我尽可能的答了，回家在网上对答案，发现：我的进制转换等十分基础的题竟然都错了（当时我还没掌握进制转换）。我的阅读程序和完成程序等还算可以，当时根本没学什么算法，当时我认为&#8220;以不变应万变&#8221;，我用的算法都是我自己创造的。最后老师告诉我，我是全区没有进复赛的第一名！（全区一共近100个人参赛，选拔2个，我是第三名），如果暑假我多看看那本数，或许...没有或许，比赛就是这样，残酷，毫不留情！<br>由于一直仰慕C语言，暑假期间我同时买了一本C二极教程，准备去考计算机二级（我没考一级，当时觉的考一级太容易了），但是考试大纲正直在那年变了，将windows/dos基础的30分改成了公共基础知识...什么内聚等，我哪里知道？机试更惨，考了一个三次方程，结果那年的计算机考试我以三次全部落败（动画，信息学奥赛，C二级）而收场。<br>后来，那个女老师也由于学校的原因去教初一的了，我换了一个女老师（受原来那个女老师委托）。再后来，我的那几本根本没看的书被学校要回了（因为那是学校出资的），我通过新换的那个女老师自己掏腰包买了2本书。<br>第二年，我总结的经验，在暑假期间猛学。那时我每天几乎都在学习计算机，既学C二级，又学OI，我每天都学习到夜里12点之后，白天就在家中编写我的人机对战的象棋程序。就这样，我度过了这一个我现在一生中最忙碌而充实的暑假，我的进步无与伦比。同时在假期中我做出了一个艰难的选择，经过2天的思想斗争，我决定彻底放弃Pascal，用C冲击OI(我之前不了解OI还可以用C,假期我上网知道后，感觉虽然pascal适合OI,但日后真正强大有用的是C，虽然C参加OI的难度大于同情况下使用pascal).<br>　11月又来了，我成熟了许多，比当年的稚嫩，我比赛中更为沉着老练，以67分，区第一的成绩进入烟台加试。加试比赛（机试）其实只要不是0（满分300）就可以进复赛，不过我还是尽力做，最后得了110分。<br>中间我又考了一次C二级，这次比上次好许多，机试的1小时时间我用了五分钟就全部答完，检查后就离开了，虽然不知道具体得分，估计应该是100<br>12月，我来到了寿光，我的复赛地——寿光现代中学。那里，我认识了许多OIers,但是我又失败了，考试前的一天晚上11点多我才入睡，使我在第二天下午的比赛中发挥失常，其实，我绝对应该是一等奖(因为去年的普及组题特别简单），但是最终只AC了一个弱智题，二等奖，与一等擦肩而过。<br>赛后我总结的比赛教训，虽然有客观原因，但是比赛失利的主观原因是有的，假期中我虽然看了一些算法，但是大部分并未上机实践，使我形成书写空洞，并且我的动态规划并未懂得（我没有辅导老师教我，我只能自学，对于许多长的求和公式，我根本看不懂）<br>自学虽然慢，但一旦学会，那是不易忘记的，我在比赛后于网上大量找动态规划资料并自学，终于对其有所领悟，并且在今年的暑假，我对许许多多的算法进行实地编程，上机实践，DFS,BFS已熟练掌握，对DP可以把握，贪心，高精度等已烂熟于胸，我在vijos上做题，改题，就这样，我度过了这个假期,假期中我参加了一个模拟赛，同时在假期后的十一，和各周末，我都到OIBH或RQNOJ上参加各种模拟...<br>今年的比赛又来了，NOIP2007的初赛已经结束，我又以区第一，加试180的资格进入复赛，初中的最后一年，我所面对的是又一次Challenge。NOIP2007，天道酬勤，我会成功！</p>
<p>上文完 ２００７．１１．３　晚</p>
<p>NOIP2007的复赛在日照一中举办，这次由我们主任（他是一名计算机教师）亲自出马与我一同去日照。由于有了经验，之前先拿着一包咖啡，防止由于睡的太晚而导致第二天打瞌睡。这次去，我的目标就是一等奖，没有第二种选择，同时希望与一些高中的高手交流一下，提高一下自己。<br>车上，我又遇到了许多与去年相同的面孔，是的，他们和我一样，在又一次的奋斗中。在我们主任的介绍下，我与烟台三中的带队老师姜涛老师相识，同时进行过交流。同时，我又看到了去年的与我比较熟悉的九中带队老师，我本以为今年可以再次在复赛见到去年代表九中参赛的曲凯，结果这次九中的那个人告诉我他这次没有进入复赛。他名叫王振宇，与他交谈中，我感觉他比较沉稳老师，从言语中我了解到一些关于他们学校的事情，也拉近我们间的关系。<br>到了日照的时候已经过了中午了，有条不紊的报完名后，安顿好我们的宿舍，我们与九中的老师，学生一同去餐厅吃午饭，在午饭时我们遇到了十三中的带队老师，好象从小学去参加flash比赛时到现在，我已经见过他多次了。<br>餐后，我与王振宇记下了彼此间的宿舍号，如果有问题，可以相互照应。下午，我的宿舍中起初空无一人，于是到了他的宿舍，没想到他很幸运，他与烟台三中的选手在一个宿舍。于是我也过去交流，同时与他一同去逛逛校园，找一下自己的考场，记得去年与曲凯也是这样度过一个下午的。日照一中的校园也很大，但是我感觉没有寿光一中漂亮。回宿舍后看到宿舍中来了人，是十三中的，几句交谈中我就对他产生了很强烈的鄙视，他没有信念，没有追求，一切好象无所谓，虽然王振宇算法能力也稍显不足，但是他为人真诚正直，完全强于那个十三中的家伙。晚上来的几个开发区高中的也沉默寡言，所以我那天几乎全部在王振宇的那个宿舍与三中的人来往。听说任青下午将来，我很高兴，希望与他相见。三中的人说他来就是来冲击山东前三名的，最终他带着个笔记本来了，我试探一下他的算法能力，我与他差不多。<br>晚上，三中的选手去参加提高组试机了，我与王振宇独在宿舍里，无聊，出去买了盘象棋下，晚上比较早时就睡了。第二天提高组比赛时，我把自己的一些经验告诉王振宇，毕竟他没有参加过复赛，同时我还教他了一点算法。上午三中的回来后我马上与他们要了份题——因为去年提高组的题中暗示了普及组要考背包问题，今年或许也如此。提高的题不难，第一题nlogn的qsort直接过，第二题仔细一点，模拟可过，第三题dp，由于我当时非经典dp还是相当不好，于是我决定如果实在遇到这个题就搜索，毕竟我不会，别人也可能不会。第四题一看到是图就没看——普及组不考图论<br>下午就考了，带的coffee没有喝，因为不方便冲，于是去买了两瓶现成的喝了，上午喝了一罐，考前喝了一罐。进入考场后刚做稳准备打qsort，一个女的来了，问我是否找错了考号，这时我才知道我与人重考号了。我担心可能会影响到自己的成绩，于是与在外等候的老师示意，工作人员让我还在我的考号的那台机器上考，让那个女的去了备用机。拿到考题，一看不难，第一题多关键字排序，第二题贪心，第四题递推+高精度，就是第三题有点乱，但最后想到了一个线形的算法。<br>考完试就依依不舍的与老师和找专车来接我的父母在夜晚踏上归途，因为第二天我还要参加全国英语能力竞赛初赛。因此本来准备去找sd.yy要sd.yy比赛的奖品顺便见一下大牛的机会也没有了<br>还是要感谢我们的主任，与我父母时刻保持联系，同时让我母亲与烟台市计算机教研员相识并记录了联系方式，他安排的很细心，很周到。<br>成绩是后来才知道的，虽然现场就出了，但是出成绩的时候我已经在英语竞赛的考场上。<br>300分，不太理想，因为我可以是400，最起码是350以上，记得考试后我层自信的说是400~<br>现在分析可能的原因是出在最简单的第一题上。当时的多关键字的qsort写错了。<br>noip2007还算圆满。山东一等分数线是180，无悬念，我是1等奖</p>
<p>我还要努力，现在要中考了，这方面的学习暂且停一停，中考完后我要参加山东的夏令营，努力提高自己。因为noip2008时，我将第一次在提高组展现我自己的风采！</p>
<p>全文完 2008.3.8</p>
<p>&nbsp;</p>
<img src ="http://www.cppblog.com/sunkai/aggbug/43937.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/sunkai/" target="_blank">SunKai</a> 2008-03-08 08:58 <a href="http://www.cppblog.com/sunkai/archive/2008/03/08/43937.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>