﻿<?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++博客-jieao111-文章分类-algorithm&amp;&amp;data structure </title><link>http://www.cppblog.com/jieao111/category/7949.html</link><description>专注于计算机科学和unix文化</description><language>zh-cn</language><lastBuildDate>Sun, 26 Apr 2009 17:08:55 GMT</lastBuildDate><pubDate>Sun, 26 Apr 2009 17:08:55 GMT</pubDate><ttl>60</ttl><item><title>[转载]关于基础与能力，谈一点我的看法 </title><link>http://www.cppblog.com/jieao111/articles/81134.html</link><dc:creator>王超杰</dc:creator><author>王超杰</author><pubDate>Sun, 26 Apr 2009 09:06:00 GMT</pubDate><guid>http://www.cppblog.com/jieao111/articles/81134.html</guid><wfw:comment>http://www.cppblog.com/jieao111/comments/81134.html</wfw:comment><comments>http://www.cppblog.com/jieao111/articles/81134.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/jieao111/comments/commentRss/81134.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/jieao111/services/trackbacks/81134.html</trackback:ping><description><![CDATA[时不时会有朋友写信问老赵学习上的一些迷茫，其中都有一些共性。例如说不知道该如何学习，说不知道朝哪个方向前进。也例如大家虽然基本上都知道&#8220;算法&#8221;的重要性，但是却总觉平时用不到。说它锻炼能力，但&#8220;能力&#8221;是看不见摸不着的，学着学着就会&#8220;麻木&#8221;，感觉就&#8220;学不进去&#8221;了。当然这方面有几个原因，有主观也有客观的，有需要周围环境的改变，也有需要自己精神上&#8220;强壮度&#8221;的提高。这里呢，我们有时就不提&#8220;算法&#8221;这个太具体的名词了，而使用&#8220;基础&#8221;来表示这一类&#8220;似乎重要，但不知道重要在哪里&#8221;的东西。
<p>　　还是先从算法，数据结构这类大家从学校里首先都会学到的东西谈起吧。如果说平时用不到算法，那肯定是不可能的。什么是算法？解决问题的方法都是算法，程序中任何对象及其关系都是数据结果。当然您可能会说，这里的说的算法和数据结构是指&#8220;有名&#8221;的那种，例如大家都耳熟能详的快速排序，图、树等等。当然，说到这个份上，可能就是要分两条路走了。一，您的确只是一直在做普通的CRUD；二，您对于这些知识理解不够，而无法感受到对它们的使用，很多时候我们运用所学的东西是自然而然的——更直接地说出来可能不太中听：&#8220;为您掌握的不好，自然觉得没用&#8221;。</p>
<p>　　打个比方，基本上所有的系统都会有&#8220;分类系统&#8221;，一个大分类下面有多个子分类，子分类下还会有更多子分类。那么现在有了个需求：由于需要垂直地列在一个下拉框中供用户选择，而分类之间的关系使用缩进来表示。在这里分类结构其实就是一颗树，而这个任务其实就是对树的深度优先遍历，于是可能您对书本印象比较深刻的话，就会说用递归，用回溯法。但是不少朋友虽然会解决这问题，解决的方式也不错，可是却没有意识到自己在用什么算法或是数据结构——只是解决了一个问题而已。这其实也比较正常，如果您回忆一下可能就会想起来，学习算法往往都会是依靠&#8220;演变&#8221;来的，只要具备了一定了逻辑思考能力，算法和数据结构在&#8220;一定程度&#8221;上也是较为&#8220;自然&#8221;的东西，并非需要死记硬背。老赵认识个朋友，在做题的过程中把AVL树给彻底忘了——是彻底忘了有这个东西，但是他发现二叉树的退化之后，就自己设法通过旋转来保持平衡。当然这种演变是一种&#8220;能力&#8221;，我们稍后再详谈。</p>
<p>　　不过很多时候出现的情况往往都是&#8220;不知道&#8221;导致&#8220;不会做&#8221;，至少也是&#8220;做不好&#8221;。打个比方，在您的程序中会用到大量的容器，您知道System.Collections命名空间下的容器都是用什么数据结构实现，适合什么样的操作吗？如果要求您在图片上打印文字，并且按照固定长度换行，您会使用类似二分法的O(logN)算法，还是直接遍历的O(N)算法呢？再比如<a href="http://www.cnblogs.com/JeffreyZhao/archive/2009/03/16/expression-cache-1.html"><u><font color=#0066cc>把表达式树用作缓存</font></u></a>，如果您不了解<a href="http://www.cnblogs.com/JeffreyZhao/archive/2009/03/18/expression-cache-3-prefix-tree-cache.html"><u><font color=#0066cc>前缀树</font></u></a>，<a href="http://www.cnblogs.com/JeffreyZhao/archive/2009/03/19/expression-cache-4-binary-search-tree-cache.html"><u><font color=#0066cc>二叉搜索树</font></u></a>，以及<a href="http://www.cnblogs.com/JeffreyZhao/archive/2009/03/20/expression-cache-5-hash-based-cache.html"><u><font color=#0066cc>哈希表的实现方式</font></u></a>，可能就只能做出<a href="http://www.cnblogs.com/JeffreyZhao/archive/2009/03/17/expression-cache-2-simple-key-cache.html"><u><font color=#0066cc>字符串</font></u></a>这个低效的选择了。您可能又会想到说，&#8220;平时项目真的遇不到&#8221;，那么老赵还是重复刚才的话&#8220;这个可以遇到&#8221;——只是您不知道有其他选择而已。</p>
<p>　　如果跳出所谓算法和数据结构，其实任何的基础对您工作的作用大都类似。按照老赵之前<a href="http://www.cnblogs.com/JeffreyZhao/archive/2007/10/29/how-to-learn.html"><u><font color=#0066cc>举过的例子</font></u></a>，很多东西都是这样：</p>
<ul>
    <li>了解Windows，才能写出更好的.NET应用程序，或者作postmortem调试。
    <li><a href="http://www.cnblogs.com/JeffreyZhao/archive/2009/01/22/system-architecture-and-program-performance.html"><u><font color=#0066cc>了解计算机体系结构</font></u></a>，才能在多CPU，多核时代写出真正高效而又正确的应用程序。
    <li>了解内存分页或线程调度方式，对您应用中设计缓存策略或任务分配有很高的参考价值。
    <li>&#8230;&#8230;</li>
</ul>
<p>　　能够从纷繁复杂的选择之中作出最合理的判断和决策是一种能力，这需要对大量事物进行了解，分析，沉淀，并且能够在脑海中形成映射。如果把人脑看作是一种存储器的话，其中可以就是在一个个单元格中存放着两大类信息：&#8220;知识&#8221;和&#8220;能力&#8221;。&#8220;知识&#8221;可以把问题转化为解决方案，而&#8220;能力&#8221;则是把知识转化为另一种知识。老赵不知道人脑在得到一个问题的时候是怎么去寻找知识的，这涉及到不同人的索引方式。但是无论是哪种方式，信息越多，查找一次所需要的时间也势必越多。如果没有找到直接能够解决问题的&#8220;知识&#8221;，则需要一个或多个&#8220;能力&#8221;把已有知识通过一次或多次转化为另一种，可能是我们原本所没有的知识，而这种能力，我们经常会把他们叫做&#8220;推理&#8221;，&#8220;演变&#8221;或者是&#8220;融会贯通&#8221;能力。</p>
<p>　　这也就是所谓&#8220;能力&#8221;最为关键的作用，它们可能也是人类在无法借助外力的情况下唯一获取新知识的途径。</p>
<p>　　我们假设人脑可以存放的总信息数量确定，在这种情况下，知识太多，能力便少，则获得新知识的成本增加；知识太少，能力虽多，却在解决问题时都需要&#8220;推理演变&#8221;一番，这也是一种浪费，就好比很少有人会用&#8220;公理&#8221;去证明一个命题，因为使用&#8220;定理&#8221;或&#8220;推论&#8221;效率可以更高。因此，把&#8220;知识&#8221;和&#8220;能力&#8221;进行分配是一种艺术，只有达到一种和谐的平衡，一个人才能更好更快地解决问题。</p>
<p>　　老赵很笨，没有学习的诀窍，唯&#8220;埋头苦学&#8221;，&#8220;勤于思考&#8221;把字箴言尔，对我来说无论是&#8220;知识&#8221;和&#8220;能力&#8221;都由此而来。有朋友可能会说，我平时不主动学习，等需要的时候再去了解。老赵不同意这个观点，因为这里有个悖论：如果您不自主学习，又如何可以在真正遇到问题的时候知道该使用什么东西呢？做出合适的选择是一个需要积累的过程，而如果不主动学习，很可能最终只会造成重复劳动。就像刚才提到那样，我们需要对大量事物进行了解，分析，沉淀。可能有时候学不进去也要学吧，可能发现美的那一刻，只是因为量变终于引起质变了。</p>
<p>　　如果您不知道学什么，把大学课本翻出来从头学习，您一定会有所收获的。最近我也在构思一个《老赵书托》系列，希望可以推荐一些好书，对大家有所帮助。</p>
<hr>
<p>　　其实引发老赵写下这篇文章的原因是一次（或者说是几次）面试。某培训机构总是打电话来想要&#8220;介绍&#8221;他们一些学生来公司面试，其语言诚恳让人不忍拒绝。可是一次又一次强调我们需要基础扎实的学生，但是每一次带来的让人很不满意。我在想，他们花了那么长时间读完大学，然后再花大笔大笔的钱去培训机构&#8220;进修&#8221;，那么多年下来还是如此水平，连我都不由得为他们心痛。当然这样的情况是普遍状况，与是否是某培训机构的学生无关，这是我进行数百次面试中所发现的共同点。例如刚才培训机构的学生，没有一个人能够把一个数组中所有元素反序一下，而一题简单的字符串分割就能考倒9成的面试者。这样的能力让人如何可以接受？理由更加荒唐，有的说&#8220;我是学测试的，不是做专业开发的&#8221;，&#8220;我是做应用的，不熟悉算法&#8221;——这种问题算是专业开发吗？算是算法吗？</p>
<p>　　真心希望现在正在阅读文章的您，就算可以不屑这篇文章，也请你停留片刻，思考一下，您的状况究竟如何呢？<br><br>荣耀属于<a href="http://www.cnblogs.com/JeffreyZhao/archive/2009/04/25/1443234.html">http://www.cnblogs.com/JeffreyZhao/archive/2009/04/25/1443234.html</a></p>
<img src ="http://www.cppblog.com/jieao111/aggbug/81134.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/jieao111/" target="_blank">王超杰</a> 2009-04-26 17:06 <a href="http://www.cppblog.com/jieao111/articles/81134.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>面试总结（三）</title><link>http://www.cppblog.com/jieao111/articles/79075.html</link><dc:creator>王超杰</dc:creator><author>王超杰</author><pubDate>Mon, 06 Apr 2009 03:27:00 GMT</pubDate><guid>http://www.cppblog.com/jieao111/articles/79075.html</guid><wfw:comment>http://www.cppblog.com/jieao111/comments/79075.html</wfw:comment><comments>http://www.cppblog.com/jieao111/articles/79075.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/jieao111/comments/commentRss/79075.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/jieao111/services/trackbacks/79075.html</trackback:ping><description><![CDATA[<strong>现在一单链表，要求用既省时间又省空间的方法找出倒数第m个元素。倒数第m个元素的定义是：当m=0时，返回最后一个元素。写出设计思路和和C语言作答。给出以下代码及函数声明：</strong><br>两种思路，前一种是我自己想的，<br>1，两个指针，一个先遍历m下停止，然后在两个同时遍历，这时另一个就到是倒数第m个了，稍微一点逻辑思维就可以搞定了，看代码
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img id=Codehighlighter1_50_332_Open_Image onclick="this.style.display='none'; Codehighlighter1_50_332_Open_Text.style.display='none'; Codehighlighter1_50_332_Closed_Image.style.display='inline'; Codehighlighter1_50_332_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_50_332_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_50_332_Closed_Text.style.display='none'; Codehighlighter1_50_332_Open_Image.style.display='inline'; Codehighlighter1_50_332_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top><span style="COLOR: #000000">element&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">FindMToLastElement(element&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">head,&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;m)&nbsp;</span><span id=Codehighlighter1_50_332_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_50_332_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;element&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">p1,&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">p2;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p1&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;head;<br><img id=Codehighlighter1_122_221_Open_Image onclick="this.style.display='none'; Codehighlighter1_122_221_Open_Text.style.display='none'; Codehighlighter1_122_221_Closed_Image.style.display='inline'; Codehighlighter1_122_221_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_122_221_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_122_221_Closed_Text.style.display='none'; Codehighlighter1_122_221_Open_Image.style.display='inline'; Codehighlighter1_122_221_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&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">;&nbsp;i&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">&nbsp;m;&nbsp;</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">i)</span><span id=Codehighlighter1_122_221_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_122_221_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(p1</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">next)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p1&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;p1</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">next;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;NULL;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p2&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;head;<br><img id=Codehighlighter1_259_314_Open_Image onclick="this.style.display='none'; Codehighlighter1_259_314_Open_Text.style.display='none'; Codehighlighter1_259_314_Closed_Image.style.display='inline'; Codehighlighter1_259_314_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_259_314_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_259_314_Closed_Text.style.display='none'; Codehighlighter1_259_314_Open_Image.style.display='inline'; Codehighlighter1_259_314_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">(p1</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">next)</span><span id=Codehighlighter1_259_314_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_259_314_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p1&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;p1</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">next;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p2&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;p2</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">next;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;p2;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span></div>
2，以前看过的阿诺的解答，整个长度m的循环链表遍历，这样的话，最后的m个元素都有了。<br><span style="COLOR: #0000ff"><br><br><font color=#000000><strong>&nbsp;2，请说明下面这个程序的输出，并给予解释 <br><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp; func(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> i,</span><span style="COLOR: #0000ff">int</span></strong><strong><span style="COLOR: #000000"> n)<br>{<br>&nbsp;&nbsp;&nbsp; </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> (i</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">n </span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000"> printf(</span><span style="COLOR: #800000">"</span><span style="COLOR: #800000">%d\n</span><span style="COLOR: #800000">"</span><span style="COLOR: #000000">,i)) </span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">!</span><span style="COLOR: #000000">p(i</span><span style="COLOR: #000000">+</span><span style="COLOR: #800080">1</span></strong><strong><span style="COLOR: #000000">,n)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="COLOR: #000000">||</span><span style="COLOR: #000000"> printf(</span><span style="COLOR: #800000">"</span><span style="COLOR: #800000">%d\n</span><span style="COLOR: #800000">"</span></strong><span style="COLOR: #000000"><strong>,i);<br>}<br>3 两个整型数，不准用if 、switch 、？：等判断语句求出两者最大值，说出你的思路，能写出代码更好</strong><br>关于2题，这里有个很好的解释<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img id=Code_Closed_Image_113407 onclick="this.style.display='none'; Code_Closed_Text_113407.style.display='none'; Code_Open_Image_113407.style.display='inline'; Code_Open_Text_113407.style.display='inline';" height=16 src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" width=11 align=top><img id=Code_Open_Image_113407 style="DISPLAY: none" onclick="this.style.display='none'; Code_Open_Text_113407.style.display='none'; Code_Closed_Image_113407.style.display='inline'; Code_Closed_Text_113407.style.display='inline';" height=16 src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width=11 align=top><span id=Code_Closed_Text_113407 style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">已折叠</span><span id=Code_Open_Text_113407 style="DISPLAY: none"><br><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">第二题其实也算一个比较常见的&#8220;智力&#8221;题。仔细观察一下就可以发现return始终返回1，这样理解里面的递归就比较容易了。&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>因为：i&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">n&nbsp;</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000">&nbsp;printf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%d\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,i))&nbsp;</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">!</span><span style="COLOR: #000000">func(i</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">,n)&nbsp;&nbsp;</span><span style="COLOR: #000000">||</span><span style="COLOR: #000000">&nbsp;printf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%d\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,i)&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>可以看做：&nbsp;exp1&nbsp;</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000">&nbsp;exp2&nbsp;</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000">&nbsp;exp3&nbsp;</span><span style="COLOR: #000000">||</span><span style="COLOR: #000000">&nbsp;exp4，由于exp4是printf()的返回值，始终是一个非零值，所以不管前面的exp1,exp2,exp3的值什么，这个总表达式（exp1&nbsp;</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000">&nbsp;exp2&nbsp;</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000">&nbsp;exp3&nbsp;</span><span style="COLOR: #000000">||</span><span style="COLOR: #000000">&nbsp;exp4）的值总是为1，也就是return始终返回1，也就是fun(i,n)的返回值始终为1.&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>再依次来看：&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>如果i&nbsp;</span><span style="COLOR: #000000">&gt;=</span><span style="COLOR: #000000">&nbsp;n，则等价于&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000">&nbsp;printf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%d\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,i))&nbsp;</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">!</span><span style="COLOR: #000000">func(i</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">,n)&nbsp;&nbsp;</span><span style="COLOR: #000000">||</span><span style="COLOR: #000000">&nbsp;printf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%d\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,i)&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>由于</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000">的短路性质，等价于&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">||</span><span style="COLOR: #000000">&nbsp;printf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%d\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,i)，即打印&nbsp;i&nbsp;的值。&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>如果i&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">&nbsp;n，则等价于&nbsp;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000">&nbsp;printf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%d\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,i))&nbsp;</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">!</span><span style="COLOR: #000000">func(i</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">,n)&nbsp;&nbsp;</span><span style="COLOR: #000000">||</span><span style="COLOR: #000000">&nbsp;printf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%d\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,i)&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>所以按顺序执行过去，先打印一个&nbsp;i&nbsp;,随后递归&nbsp;</span><span style="COLOR: #000000">!</span><span style="COLOR: #000000">func(i</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">,n)，在递归里一样处理，打印i&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">，进入第二次递归；打印i&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;</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">1</span><span style="COLOR: #000000">，进入第三次递归。。。&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>一直到i&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;n为止，此时打印i，也就是打印n&nbsp;，然后第一次返回，返回值为1。&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>在第一次返回的上下文中：i&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;n&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">,&nbsp;&nbsp;由于func(i</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">,n)&nbsp;返回值恒等于1，所以</span><span style="COLOR: #000000">!</span><span style="COLOR: #000000">func(i</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">,n)恒等于0，原来的总表达式等价于exp1&nbsp;</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000">&nbsp;exp2&nbsp;</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">||</span><span style="COLOR: #000000">&nbsp;printf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%d\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,i)，不管exp1和exp2的值为什么，这里都会执行最后的打印语句，而这里的i&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;n&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">，所以打印n&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">。&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>然后第二次返回，此时i&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;n&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">，打印n&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">。&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>第三次返回，打印&nbsp;n&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">3</span><span style="COLOR: #000000">.&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>一直到i为最初的i,此时再打印一次i。</span></span></div>
<p>第3题有很多种解法，我来列举一下<br>1<span style="BACKGROUND-COLOR: yellow">，((a+b) + pow((a-b)*(a-b), 0.5))/2</span>，从((a + b) + abs(a - b))/2而来，后者由于abs时加了判断，所以用pow就显得聪明了。<br>2，第二种解法一般用移位：<br><span style="BACKGROUND-COLOR: yellow">如果a&gt;b,则a-b的二进制表示中最高位为0，(a-b)&gt;&gt;31 = 0;bigger = m[0]; <br>如果a &lt;b,则a-b的二进制表示中最高位为1，(a-b)&gt;&gt;31 = 1;bigger = m[1];</span> <br>3，第三种解法主要借助&amp;&amp;和||来判断，是受到二题的启发<br></p>
<p>topic.csdn.net\u\20081030\16\1e4c9e2e-f704-4b24-b53e-169fc8246522.html<br><br><strong>如果n为整数，则将它除以2 <br>如果n为奇数，则将它加1或者减1 <br>问对于一个给定的n，怎样才能用最少的步骤将它变到1 <br>例如 <br>n=61 <br>n-- 60 <br>n/2 30 <br>n/2 15 <br>n++ 16 <br>n/2 8 <br>n/2 4 <br>n/2 2 <br>n/2 1 <br><br>编程用c/c++<br></strong>解答：<br><span style="BACKGROUND-COLOR: yellow">向4靠拢是有道理的，把数字用二进制表示，通过右移一位、加一、减一，让他最终变成0（注意，看成变成0的更好理解一些，其实1变成0只是一个&#8220;减一&#8221;操作，就相差一步），就需要把所有的1消除掉。 <br>怎么去掉1呢，右移不能消除一，只有加减一能够，所以奇数时要考虑加还是减。 <br>对于...01（2进制）这样的情形，减一能够消除1，加一不能，所以要减一； <br>对于...11，加一能够至少消除一个1（比如...0111就是消除两个1），减一只能消除一个1，那么对于...011的情形，应该加一还是减一呢？ <br>答案应该是加一，因为向高位进的1可能会与更高位的1合并为1个连续的1串，使以后加一能够一下子消除更多的1； <br>这里有一个例外，就是3（二进制11），因为更高位没有1了，所以不能加一。 <br><br>本人比较懒，具体的算法就不总结了</span></p>
</span></font></span>
<img src ="http://www.cppblog.com/jieao111/aggbug/79075.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/jieao111/" target="_blank">王超杰</a> 2009-04-06 11:27 <a href="http://www.cppblog.com/jieao111/articles/79075.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>面试总结（二）</title><link>http://www.cppblog.com/jieao111/articles/79030.html</link><dc:creator>王超杰</dc:creator><author>王超杰</author><pubDate>Sun, 05 Apr 2009 10:13:00 GMT</pubDate><guid>http://www.cppblog.com/jieao111/articles/79030.html</guid><wfw:comment>http://www.cppblog.com/jieao111/comments/79030.html</wfw:comment><comments>http://www.cppblog.com/jieao111/articles/79030.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/jieao111/comments/commentRss/79030.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/jieao111/services/trackbacks/79030.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 金山训练营入学考试题1 编写函数实现十进制正整数到十四进制数的转换，在屏幕输出转换结果。 说&nbsp; 明：用0, 1, 2, 3,....., 8, 9, A, B, C, D表示十四进制的基本的14个数。 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 例：键盘输入14，屏幕输出10。 比较好的解法：void fun( int input) { &nbs...&nbsp;&nbsp;<a href='http://www.cppblog.com/jieao111/articles/79030.html'>阅读全文</a><img src ="http://www.cppblog.com/jieao111/aggbug/79030.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/jieao111/" target="_blank">王超杰</a> 2009-04-05 18:13 <a href="http://www.cppblog.com/jieao111/articles/79030.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>求二叉树的深度</title><link>http://www.cppblog.com/jieao111/articles/78876.html</link><dc:creator>王超杰</dc:creator><author>王超杰</author><pubDate>Fri, 03 Apr 2009 12:51:00 GMT</pubDate><guid>http://www.cppblog.com/jieao111/articles/78876.html</guid><wfw:comment>http://www.cppblog.com/jieao111/comments/78876.html</wfw:comment><comments>http://www.cppblog.com/jieao111/articles/78876.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/jieao111/comments/commentRss/78876.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/jieao111/services/trackbacks/78876.html</trackback:ping><description><![CDATA[<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center><span><br>前段时间不知道不知忽然从哪想到一道题：&#8220;求二叉树的深度&#8221;，于是便试着求了一下。一般看来，这种题目不要太简单了，然而自己算了一会儿，居然没有解决了。</span></p>
<p><span>一个非常令人感到迷惑的问题估计就是递归了吧，而递归之中局部变量的值更是令人抓狂不已。</span></p>
<p><span>当时我一直迷惑就是用什么来存储高度的值呢？比如这个值在递归的时候，会随递归的层数的增加而增大，那么当递归回溯的时候该怎么办呢？这些值显然不能自减的，于是陷于泥潭。。。</span></p>
<p><span>作为一个明智的人来说，就此停止说自己不会这道题显然是愚蠢的。</span></p>
<p><span>聪明的人会果断的换个思路，而不是深陷泥潭之中不能自拔。</span></p>
<p><span>那么我们已经很清楚了不能使用局部变量了，于是思考还有什么别的方法吗？是的，有的，就是返回值。虽然自己不常用，也不会用这种方法，可是也没有别的方法了（记住不要一直想着自己会的但用不着的方法）。</span></p>
<p><span>整体上考虑：每一层递归返回该层往下的最大高度，上一层的最大高度就是下一层的最大高度加</span><span>1</span><span>。考虑上一层就是根，那么二叉树的最大高度就是次一层的最大高度加</span><span>1</span><span>。很明显，次一层的最大高度不是左子树的高度就是右子树的高度，以此类推，每一层都有这个性质。</span><span></p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">If(left</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">right)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>Height</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">lift;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>Else<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>Height</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">right;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>Return&nbsp;Height;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span></div>
<p></span>&nbsp;<span>对不，这个递归的结尾是不是应该就是这个样子的，再来，就是求</span><span>left</span><span>，和</span><span>right</span><span>的值，而它们都是根据自己的左右结点递归来求的，那么下一步就是往里面加递归了。</span><span></p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">Int&nbsp;may_height(Node</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;head)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img id=Codehighlighter1_28_257_Open_Image onclick="this.style.display='none'; Codehighlighter1_28_257_Open_Text.style.display='none'; Codehighlighter1_28_257_Closed_Image.style.display='inline'; Codehighlighter1_28_257_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_28_257_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_28_257_Closed_Text.style.display='none'; Codehighlighter1_28_257_Open_Image.style.display='inline'; Codehighlighter1_28_257_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_28_257_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_28_257_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>Node</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;p</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">head;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>Int&nbsp;height;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>If(p</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">left</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">NULL)</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>Else&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>Left</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;may_height(p</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">left);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>If(p</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">right</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">NULL)</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>Else&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>right</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;may_height(p</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">right);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>If(left</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">right)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>Height</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">lift;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>Else<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>Height</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">right;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>Return&nbsp;Height;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span></div>
<p></span>&nbsp;<span>运用特值代入，求得左右子树为空时，返回</span><span>-1</span><span>。</span></p>
<p><span>OK</span><span>，完成了！</span></p>
<p><span>在上述的分析中，你是不是发现了什么呢？是的，你在想是不是可以用动态规划呢，这样的话，效率会不会高点呢？不如先来看一下程序的执行过程</span><span> </span><span>。</span></p>
<p><span>一开始进入递归后，然后直接到达最左结点，求高度后返回给上层，然后上层计算后再把结果送到再上一层。。。。。。一直到根。</span></p>
<p><span>很明显了，并没有出现重复计算子问题的情况。那么</span><span>DP</span><span>就发挥不了多大作用了。然而戏剧性的我们发现每次计算时我们又碰巧运用了子问题的解，更像是</span><span>DP</span><span>的思想了，或者说他就是</span><span>DP</span><span>了吧。。。（</span><span>DP</span><span>一般自下而上，而该题自上而下，算是广义的</span><span>DP</span><span>了</span><span>~~</span><span>）</span></p>
<img src ="http://www.cppblog.com/jieao111/aggbug/78876.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/jieao111/" target="_blank">王超杰</a> 2009-04-03 20:51 <a href="http://www.cppblog.com/jieao111/articles/78876.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>面试总结（一）</title><link>http://www.cppblog.com/jieao111/articles/78858.html</link><dc:creator>王超杰</dc:creator><author>王超杰</author><pubDate>Fri, 03 Apr 2009 11:52:00 GMT</pubDate><guid>http://www.cppblog.com/jieao111/articles/78858.html</guid><wfw:comment>http://www.cppblog.com/jieao111/comments/78858.html</wfw:comment><comments>http://www.cppblog.com/jieao111/articles/78858.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/jieao111/comments/commentRss/78858.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/jieao111/services/trackbacks/78858.html</trackback:ping><description><![CDATA[<p><strong><span><span>1.<span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span></strong><strong><span>已知</span></strong><strong><span>x</span></strong><strong><span>，不用</span></strong><strong><span>+,-,*,/</span></strong><strong><span>符号，计算出</span></strong><strong><span>x+1</span></strong><strong><span>的值；</span></strong><span><br>当时的分析就是分情况最后一位是</span><span>0</span><span>或</span><span>1</span><span>，最后总结出来只要把从右开始数，第一个</span><span>0</span><span>位置</span><span>1</span><span>就行了，可是我当时没有想出代码来，再此瞭望下面的代码，学习一下。。</span></p>
<p><span>解答：<br></span>1.&nbsp;&nbsp;&nbsp;&nbsp; 假设是整数 <br><span style="BACKGROUND-COLOR: yellow">int Add(int x) <br>{ <br>int n = x, b =1; <br>while( (n &amp; b)) { <br>n = n&amp; (~b); //将0后的1也转化为0<br>b = b &lt; &lt;1; <br>} <br>return (n | b); <br>}</span></p>
<p><span>还有一种解法是</span></p>
<p><span>x=abs((float)~x);<br><br></span></p>
<p><span><span>2.<span>&nbsp;&nbsp; </span></span></span><strong><span>检验一个整数是否为</span></strong><strong><span>2</span></strong><strong><span>的</span></strong><strong><span>n</span></strong><strong><span>次方数，要求用一行代码，而且不能使用循环语句</span></strong><span>。<br></span><span><br>解法：</span></p>
<p><span style="BACKGROUND-COLOR: #ffff00">x&amp;(x-1)? false:true，</span></p>
<p><span>这个题就不知道该咋总结了，应该说是老题了，位运算，头一次见的时候，可以多试试，看看有什么规律，还是可以发现的。。</span></p>
<p><span>topic.csdn.net\u\20081029\10\ee<st1:chmetcnv TCSC="0" NumberType="1" Negative="False" HasSpace="False" SourceValue="84" UnitName="a" w:st="on">84a</st1:chmetcnv>378-bdd0-41ec-a4af-916ba59baaba.html</span></p>
<p><span><br><br><br>3.</span><strong><span>2</span></strong><strong><span>个数组</span></strong><strong><span>,</span></strong><strong><span>元素数值按从小到大排序</span></strong><strong><span>, <br>a[]={0,2,4,5,7,8,9,.....1000}, </span></strong><strong><span>从</span></strong><strong><span>0</span></strong><strong><span>到</span></strong><strong><span>1000,</span></strong><strong><span>到但有缺漏的</span></strong><strong><span>.</span></strong><strong><span>有</span></strong><strong><span>900</span></strong><strong><span>个元素</span></strong><strong><span>. <br>b[]={0,1,2,3,4,5,6,.....1000}, </span></strong><strong><span>从</span></strong><strong><span>0</span></strong><strong><span>到</span></strong><strong><span>1000,</span></strong><strong><span>无缺漏</span></strong><strong><span>,1001</span></strong><strong><span>个元素</span></strong><strong><span> <br></span></strong><strong><span>请建立一个对应的数组</span></strong><strong><span>,</span></strong><strong><span>元素个数等于</span></strong><strong><span>b</span></strong><strong><span>数组个数</span></strong><strong><span>,</span></strong><strong><span>也是从小大到排序</span></strong><strong><span>.</span></strong><strong><span>如果</span></strong><strong><span>b</span></strong><strong><span>数组里的数字在</span></strong><strong><span>a</span></strong><strong><span>里面</span></strong><strong><span>,</span></strong><strong><span>则数值等于</span></strong><strong><span>b</span></strong><strong><span>数组里的</span></strong><strong><span>, <br></span></strong><strong><span>如果不在</span></strong><strong><span>,</span></strong><strong><span>则对应位为</span></strong><strong><span>0.</span></strong><strong><span>例如</span></strong><strong><span>c={0,0,2,0,4,5.....1000} <br></span></strong><strong><span>请设计最优方案</span></strong><strong><span>.</span></strong></p>
<p><span><br>解答：</span></p>
<p><span>这个题出眼一想，把</span><span>b</span><span>中每一个元素去和</span><span>a</span><span>里面找，有的话，填</span><span>c</span><span>，没有的话，填</span><span>0.</span><span>。算一下复杂度，</span><span>1000*900~~</span></p>
<p><span>如此简单</span><span>~~</span></p>
<p><span>再想想，题不可能这么简单，要这样都会了。。都聘用了，还刷选啥，，</span></p>
<p><span>那么用逻辑思维怎么做这道题呢，这个题主要是求</span><span>c</span><span>，那么</span><span>c</span><span>有什么特点呢？（专注于未知数），，里面有</span><span>0</span><span>和一些数，关键就在这些数，有什么特点呢，可以想到当</span><span>a</span><span>里面有时，那么</span><span>c</span><span>就有（</span><span>b</span><span>始终都有），，，灵光一闪，怎么象函数泥，，是不是映射呢，每个</span><span>a</span><span>映射到</span><span>c</span></p>
<p><span>继续，</span><span>a</span><span>当函数的参数，</span><span>c[a[i]]=</span><span>一个非零数。。这个非零数是多少呢，特例法试试：当</span><span>a[i]</span><span>取</span><span>2</span><span>时，</span><span>c[2]=2</span><span>，当</span><span>a[3]=3,c[3]=0;a[4]=4,c[4]=4</span><span>，，可以发现这个是个</span><span>y=x</span><span>函数，当</span><span>b</span><span>中的一个数，</span><span>a</span><span>中有时，那么这时</span><span>c[i]=b[i]=a[i];</span><span>没有时，</span><span>a[i]=0,</span><span>那么</span><span>c[0]=0..</span><span>。。。。。。。。<br></span><span>进而得到答案：</span></p>
<p><span style="BACKGROUND-COLOR: #ffff00">先对c所有赋初值0 <br><br>完了，扫描一下a，对每个a的元素，使用：c[a[i]] = a[i];</span></p>
<p><span>topic.csdn.net\u\20090302\18\<st1:chmetcnv TCSC="0" NumberType="1" Negative="False" HasSpace="False" SourceValue="2" UnitName="a" w:st="on">2A</st1:chmetcnv>7DA801<st1:chmetcnv TCSC="0" NumberType="1" Negative="True" HasSpace="False" SourceValue="42" UnitName="a" w:st="on">-42A</st1:chmetcnv>9-49AE-9759-420CB6BF<st1:chmetcnv TCSC="0" NumberType="1" Negative="False" HasSpace="False" SourceValue="29" UnitName="F" w:st="on">29F</st1:chmetcnv>0.html</span></p>
<p><strong><span><span>3.&nbsp;</span></span></strong><strong><span>一亿个整数里找出现次数最多的前</span></strong><strong><span>N</span></strong><strong><span>个数</span></strong><strong></strong></p>
<p><span>解答：</span></p>
<p><span>首先必须明确的是，必须遍历全部的的整数才能找出，不要想什么特别的技巧，可以非常快的找出来。。</span></p>
<p><span>直观的，用快排将一个数排序，然后取前</span><span>n</span><span>个，，需要明确的是，快排不是稳定的排序，有时它的复杂度是很高的，可以达到</span><span>n^2,</span><span>想一想，一亿的平方，不是很小的数，，，这里有个方法&#8220;位图法&#8221;，很常用的方法：</span></p>
<p style="BACKGROUND-COLOR: #ffffff"><span style="BACKGROUND-COLOR: yellow">1亿==<st1:chmetcnv TCSC="0" NumberType="1" Negative="False" HasSpace="False" SourceValue="100" UnitName="m" w:st="on">100M</st1:chmetcnv> <br>开辟<st1:chmetcnv TCSC="0" NumberType="1" Negative="False" HasSpace="False" SourceValue="200" UnitName="m" w:st="on">200M</st1:chmetcnv>内存够了... <br>array[100000000] <br>初始化为0 <br><br>从文件里读入数据到source[100000000]数组中。 <br>遍历source[]： <br>array[source[i]-1]++; <br>i=0...99999999 <br><br>定义数组 <br>result[N] <br><br>问题简化为：从array中选出N个下标值，它们对应了array中存储的最大的N个数。 <br><br>比如array[0]=50000000，array[1]=50000000，那么result[0]=0+1=1 <br>result[1]=1+1=2</span></p>
<p><span>发现上面两题之所以用嵌套数组，一个共同点就是，他们的元素是全的</span><span>(0..*)</span><span>，本体的解法很巧妙，，，，我就不多废话了，可以多体会体会。。</span></p>
<p><span>topic.csdn.net\u\20080821\21\f6d4cd24-f878<st1:chmetcnv TCSC="0" NumberType="1" Negative="True" HasSpace="False" SourceValue="419" UnitName="C" w:st="on">-419c</st1:chmetcnv>-adc3-0928ffd3e394.html</span></p>
<p><strong><span>4</span></strong><strong><span>．<strong><span>求第</span></strong></span></strong><strong><span>K</span></strong><strong><span>大的素数</span></strong><strong></strong></p>
<p><strong><span>如题</span></strong><strong><span> <span>k=1 </span></span></strong><strong><span>输出</span></strong><strong><span> 2 k=2 </span></strong><strong><span>输出</span></strong><strong><span> 3 </span></strong></p>
<p><strong><span>&nbsp;1= &lt;k &lt;=10000 <br></span></strong><strong><span>时间限制</span></strong><strong><span> </span></strong><strong><span>：</span></strong><strong><span>1S</span></strong></p>
<p><span><br>这个题应该不是所谓的面试题，应该算一道</span><span>acm</span><span>，不过感觉这道题很有意思，所以也就写到这里了。。</span></p>
<p><span>我当时是上外方课时想这道题的，刚开始的时候显然走了弯路，后来才意识到，这个是求第</span><span>k</span><span>个素数，所以需要精确的计算到第</span><span>k</span><span>个</span><span>(</span><span>素数产生并没有什么大致的规律</span><span>)</span><span>，而不是大致的估算。。那么下面我的思路就清晰了，，只能一个一个判断了。。。</span></p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">#include&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">iostream</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">using</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">namespace</span><span style="COLOR: #000000">&nbsp;std;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">long</span><span style="COLOR: #000000">&nbsp;f(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">A,</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;k)<br><img id=Codehighlighter1_63_419_Open_Image onclick="this.style.display='none'; Codehighlighter1_63_419_Open_Text.style.display='none'; Codehighlighter1_63_419_Closed_Image.style.display='inline'; Codehighlighter1_63_419_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_63_419_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_63_419_Closed_Text.style.display='none'; Codehighlighter1_63_419_Open_Image.style.display='inline'; Codehighlighter1_63_419_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_63_419_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_63_419_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(k</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">)<br><img id=Codehighlighter1_83_107_Open_Image onclick="this.style.display='none'; Codehighlighter1_83_107_Open_Text.style.display='none'; Codehighlighter1_83_107_Closed_Image.style.display='inline'; Codehighlighter1_83_107_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_83_107_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_83_107_Closed_Text.style.display='none'; Codehighlighter1_83_107_Open_Image.style.display='inline'; Codehighlighter1_83_107_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_83_107_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_83_107_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;A[</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">3</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;index;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">&nbsp;(;A[k</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">0</span><span style="COLOR: #000000">;i</span><span style="COLOR: #000000">+=</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">)<br><img id=Codehighlighter1_179_398_Open_Image onclick="this.style.display='none'; Codehighlighter1_179_398_Open_Text.style.display='none'; Codehighlighter1_179_398_Closed_Image.style.display='inline'; Codehighlighter1_179_398_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_179_398_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_179_398_Closed_Text.style.display='none'; Codehighlighter1_179_398_Open_Image.style.display='inline'; Codehighlighter1_179_398_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_179_398_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_179_398_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">&nbsp;(index</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;A[index]</span><span style="COLOR: #000000">!=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">index)<br><img id=Codehighlighter1_231_323_Open_Image onclick="this.style.display='none'; Codehighlighter1_231_323_Open_Text.style.display='none'; Codehighlighter1_231_323_Closed_Image.style.display='inline'; Codehighlighter1_231_323_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_231_323_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_231_323_Closed_Text.style.display='none'; Codehighlighter1_231_323_Open_Image.style.display='inline'; Codehighlighter1_231_323_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_231_323_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_231_323_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(i</span><span style="COLOR: #000000">%</span><span style="COLOR: #000000">A[index]</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">)<br><img id=Codehighlighter1_276_313_Open_Image onclick="this.style.display='none'; Codehighlighter1_276_313_Open_Text.style.display='none'; Codehighlighter1_276_313_Closed_Image.style.display='inline'; Codehighlighter1_276_313_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_276_313_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_276_313_Closed_Text.style.display='none'; Codehighlighter1_276_313_Open_Image.style.display='inline'; Codehighlighter1_276_313_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_276_313_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_276_313_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&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><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(A[index]</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">)<br><img id=Codehighlighter1_358_392_Open_Image onclick="this.style.display='none'; Codehighlighter1_358_392_Open_Text.style.display='none'; Codehighlighter1_358_392_Closed_Image.style.display='inline'; Codehighlighter1_358_392_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_358_392_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_358_392_Closed_Text.style.display='none'; Codehighlighter1_358_392_Open_Image.style.display='inline'; Codehighlighter1_358_392_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_358_392_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_358_392_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A[index]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">i;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;A[k</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">];<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;main()<br><img id=Codehighlighter1_433_608_Open_Image onclick="this.style.display='none'; Codehighlighter1_433_608_Open_Text.style.display='none'; Codehighlighter1_433_608_Closed_Image.style.display='inline'; Codehighlighter1_433_608_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_433_608_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_433_608_Closed_Text.style.display='none'; Codehighlighter1_433_608_Open_Image.style.display='inline'; Codehighlighter1_433_608_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_433_608_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_433_608_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;n</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">10000</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">A</span><span style="COLOR: #000000">=</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">[n];<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">&nbsp;(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;i</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">n</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">i)<br><img id=Codehighlighter1_508_530_Open_Image onclick="this.style.display='none'; Codehighlighter1_508_530_Open_Text.style.display='none'; Codehighlighter1_508_530_Closed_Image.style.display='inline'; Codehighlighter1_508_530_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_508_530_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_508_530_Closed_Text.style.display='none'; Codehighlighter1_508_530_Open_Image.style.display='inline'; Codehighlighter1_508_530_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_508_530_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_508_530_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A[i]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;k;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;cin</span><span style="COLOR: #000000">&gt;&gt;</span><span style="COLOR: #000000">k;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;cout</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">f(A,k);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&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><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&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><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span></div>
<p><span>这个是</span><span>lz</span><span>的代码，而我的想法差不多，唯一的区别是我是想弄个函数来判断是否是素数，而她是除以每个前面的素数来判断。。。我们俩的效率都不是很高，看下面的：</span></p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">[]&nbsp;GetPrimeList(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;upperValue)<br><img id=Codehighlighter1_51_701_Open_Image onclick="this.style.display='none'; Codehighlighter1_51_701_Open_Text.style.display='none'; Codehighlighter1_51_701_Closed_Image.style.display='inline'; Codehighlighter1_51_701_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_51_701_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_51_701_Closed_Text.style.display='none'; Codehighlighter1_51_701_Open_Image.style.display='inline'; Codehighlighter1_51_701_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_51_701_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_51_701_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;List</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">&nbsp;PrimeList&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;List</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">();<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">bool</span><span style="COLOR: #000000">[]&nbsp;flags&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">bool</span><span style="COLOR: #000000">[upperValue&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">];<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">&nbsp;(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;i&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">;&nbsp;i&nbsp;</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">&nbsp;(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">)Math.Sqrt(upperValue);&nbsp;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br><img id=Codehighlighter1_236_467_Open_Image onclick="this.style.display='none'; Codehighlighter1_236_467_Open_Text.style.display='none'; Codehighlighter1_236_467_Closed_Image.style.display='inline'; Codehighlighter1_236_467_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_236_467_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_236_467_Closed_Text.style.display='none'; Codehighlighter1_236_467_Open_Image.style.display='inline'; Codehighlighter1_236_467_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_236_467_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_236_467_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(</span><span style="COLOR: #000000">!</span><span style="COLOR: #000000">flags[i])<br><img id=Codehighlighter1_285_453_Open_Image onclick="this.style.display='none'; Codehighlighter1_285_453_Open_Text.style.display='none'; Codehighlighter1_285_453_Closed_Image.style.display='inline'; Codehighlighter1_285_453_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_285_453_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_285_453_Closed_Text.style.display='none'; Codehighlighter1_285_453_Open_Image.style.display='inline'; Codehighlighter1_285_453_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_285_453_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_285_453_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&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">&nbsp;(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;j&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;i&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;i;&nbsp;j&nbsp;</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">&nbsp;upperValue;&nbsp;j&nbsp;</span><span style="COLOR: #000000">+=</span><span style="COLOR: #000000">&nbsp;i)<br><img id=Codehighlighter1_372_435_Open_Image onclick="this.style.display='none'; Codehighlighter1_372_435_Open_Text.style.display='none'; Codehighlighter1_372_435_Closed_Image.style.display='inline'; Codehighlighter1_372_435_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_372_435_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_372_435_Closed_Text.style.display='none'; Codehighlighter1_372_435_Open_Image.style.display='inline'; Codehighlighter1_372_435_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_372_435_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_372_435_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;flags[j]&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">true</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">&nbsp;(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;i&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">;&nbsp;i&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">&nbsp;upperValue;&nbsp;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br><img id=Codehighlighter1_531_650_Open_Image onclick="this.style.display='none'; Codehighlighter1_531_650_Open_Text.style.display='none'; Codehighlighter1_531_650_Closed_Image.style.display='inline'; Codehighlighter1_531_650_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_531_650_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_531_650_Closed_Text.style.display='none'; Codehighlighter1_531_650_Open_Image.style.display='inline'; Codehighlighter1_531_650_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_531_650_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_531_650_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(</span><span style="COLOR: #000000">!</span><span style="COLOR: #000000">flags[i])<br><img id=Codehighlighter1_580_636_Open_Image onclick="this.style.display='none'; Codehighlighter1_580_636_Open_Text.style.display='none'; Codehighlighter1_580_636_Closed_Image.style.display='inline'; Codehighlighter1_580_636_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_580_636_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_580_636_Closed_Text.style.display='none'; Codehighlighter1_580_636_Open_Image.style.display='inline'; Codehighlighter1_580_636_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_580_636_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_580_636_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PrimeList.Add(i);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;PrimeList.ToArray();<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span></div>
<p><span>这个叫</span><span><a href="http://hi.csdn.net/litaoye" target=_blank><var>litaoye</var></a></span><span>果然很</span><span>nb</span><span>，他写的代码实在是比我们的好多了，可以看出来，他对素数的理解显然比我深多了，我只想着怎么数素数，素数有什么规律吗，，而他直接想到那些不是素数，，反用了书上的思想。。。很好很强大，，需要好好学习。。。</span></p>
<p><span>topic.csdn.net\u\20090225\22\<st1:chmetcnv TCSC="0" NumberType="1" Negative="False" HasSpace="False" SourceValue="65378" UnitName="F" w:st="on">065378f</st1:chmetcnv>6-4cf7-4d2d-9997-ddb<st1:chmetcnv TCSC="0" NumberType="1" Negative="False" HasSpace="False" SourceValue="8" UnitName="a" w:st="on">8a</st1:chmetcnv>2481347.html</span></p>
<p>&nbsp; <br><strong><span><span>1.&nbsp;</span></span></strong><strong><span>问题描述：按顺序输入两个数</span></strong><strong><span>a,b,</span></strong><strong><span>转换成八位二进制表示</span></strong><strong><span>a',b',</span></strong><strong><span>再将这两个八位二进制数拼接成一个十六位二进制数</span></strong><strong><span>c'</span></strong><strong><span>，规则为：将</span></strong><strong><span>b'</span></strong><strong><span>的八位放在</span></strong><strong><span>c'</span></strong><strong><span>的高位，</span></strong><strong><span>a'</span></strong><strong><span>的八位放到</span></strong><strong><span>a'</span></strong><strong><span>的地位，最后将十六位二进制数</span></strong><strong><span>c'</span></strong><strong><span>转换为十进制数</span></strong><strong><span>c</span></strong><strong><span>输出。例如：输入</span></strong><strong><span>23</span></strong><strong><span>（</span></strong><strong><span>0001 0111</span></strong><strong><span>）、</span></strong><strong><span>14</span></strong><strong><span>（</span></strong><strong><span>0000 1110</span></strong><strong><span>），</span></strong><strong><span>c'=</span></strong><strong><span>（</span></strong><strong><span>0000 1110 0001 0111</span></strong><strong><span>），最后输出</span></strong><strong><span>c=3607</span></strong><strong><span>，</span></strong><strong></strong></p>
<p><span>这个题，我一看就准备用</span><span>bitset</span><span>了，然后直接就被题目给误导了。。。汗，，</span></p>
<p><span>看来自己还是对这些数的底层不熟，，组成原理没学好，，明显的，，</span></p>
<p><span>进制的加减其实结果都是一样，说那么多废话不过是迷惑我们。。看正解</span></p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;_tmain(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;argc,&nbsp;_TCHAR</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;argv[])<br><img id=Codehighlighter1_37_116_Open_Image onclick="this.style.display='none'; Codehighlighter1_37_116_Open_Text.style.display='none'; Codehighlighter1_37_116_Closed_Image.style.display='inline'; Codehighlighter1_37_116_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_37_116_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_37_116_Closed_Text.style.display='none'; Codehighlighter1_37_116_Open_Image.style.display='inline'; Codehighlighter1_37_116_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_37_116_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_37_116_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;a&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">23</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;b&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">14</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;cout</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">a&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;(b</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">8</span><span style="COLOR: #000000">)</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">endl;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&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><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span></div>
<p><span>topic.csdn.net\u\20090223\20\907ff5e3-62e4-4963<st1:chmetcnv TCSC="0" NumberType="1" Negative="True" HasSpace="False" SourceValue="8" UnitName="F" w:st="on">-8f</st1:chmetcnv>72-279840072b50.htm</span></p>
<img src ="http://www.cppblog.com/jieao111/aggbug/78858.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/jieao111/" target="_blank">王超杰</a> 2009-04-03 19:52 <a href="http://www.cppblog.com/jieao111/articles/78858.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>旧事重提---还是那道东软练习题（附）</title><link>http://www.cppblog.com/jieao111/articles/75891.html</link><dc:creator>王超杰</dc:creator><author>王超杰</author><pubDate>Sun, 08 Mar 2009 05:03:00 GMT</pubDate><guid>http://www.cppblog.com/jieao111/articles/75891.html</guid><wfw:comment>http://www.cppblog.com/jieao111/comments/75891.html</wfw:comment><comments>http://www.cppblog.com/jieao111/articles/75891.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/jieao111/comments/commentRss/75891.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/jieao111/services/trackbacks/75891.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 附上代码：CAP.h&nbsp; 表达式的计算//CAP.h&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;表达式的计算&nbsp;&nbsp;&nbsp;#pragma&nbsp;once&nbsp;&nbsp;&nbsp;enum{NUMBER,&nbsp;OPERATOR,&nbsp;EN...&nbsp;&nbsp;<a href='http://www.cppblog.com/jieao111/articles/75891.html'>阅读全文</a><img src ="http://www.cppblog.com/jieao111/aggbug/75891.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/jieao111/" target="_blank">王超杰</a> 2009-03-08 13:03 <a href="http://www.cppblog.com/jieao111/articles/75891.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>旧事重提---还是那道东软练习题（二）</title><link>http://www.cppblog.com/jieao111/articles/75889.html</link><dc:creator>王超杰</dc:creator><author>王超杰</author><pubDate>Sun, 08 Mar 2009 04:47:00 GMT</pubDate><guid>http://www.cppblog.com/jieao111/articles/75889.html</guid><wfw:comment>http://www.cppblog.com/jieao111/comments/75889.html</wfw:comment><comments>http://www.cppblog.com/jieao111/articles/75889.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/jieao111/comments/commentRss/75889.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/jieao111/services/trackbacks/75889.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 上一篇是主要说了表达式的求值，主要目的是使其可以计算带括号的四则混合运算，其实并没有什么实质东西在里面。。。&nbsp;下面主要说一下表达式的产生；首先加入两个符号''*和'/'，，这个很简单，只需要在下面两处修改一下，然后将产生式计算就可以了static char token[] = {'+','-',' '}====》static char token[] = {'+','-'...&nbsp;&nbsp;<a href='http://www.cppblog.com/jieao111/articles/75889.html'>阅读全文</a><img src ="http://www.cppblog.com/jieao111/aggbug/75889.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/jieao111/" target="_blank">王超杰</a> 2009-03-08 12:47 <a href="http://www.cppblog.com/jieao111/articles/75889.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>旧事重提---还是那道东软练习题（一） </title><link>http://www.cppblog.com/jieao111/articles/75851.html</link><dc:creator>王超杰</dc:creator><author>王超杰</author><pubDate>Sat, 07 Mar 2009 16:01:00 GMT</pubDate><guid>http://www.cppblog.com/jieao111/articles/75851.html</guid><wfw:comment>http://www.cppblog.com/jieao111/comments/75851.html</wfw:comment><comments>http://www.cppblog.com/jieao111/articles/75851.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/jieao111/comments/commentRss/75851.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/jieao111/services/trackbacks/75851.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 在1 2 3 4 5 6 7 8 9九个数字中插入&#8220;+&#8221;或&#8220;-&#8221;符号使得结果为100，编程实现所有的组合。 注：数字的顺序不能改变。 如： 123 - 45 - 67 + 89 = 100 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 12 - 3 -4 + 5 - 6 + 7 + 89 = 100原帖索引：http://topi...&nbsp;&nbsp;<a href='http://www.cppblog.com/jieao111/articles/75851.html'>阅读全文</a><img src ="http://www.cppblog.com/jieao111/aggbug/75851.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/jieao111/" target="_blank">王超杰</a> 2009-03-08 00:01 <a href="http://www.cppblog.com/jieao111/articles/75851.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>模拟除法</title><link>http://www.cppblog.com/jieao111/articles/59141.html</link><dc:creator>王超杰</dc:creator><author>王超杰</author><pubDate>Sun, 17 Aug 2008 09:37:00 GMT</pubDate><guid>http://www.cppblog.com/jieao111/articles/59141.html</guid><wfw:comment>http://www.cppblog.com/jieao111/comments/59141.html</wfw:comment><comments>http://www.cppblog.com/jieao111/articles/59141.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/jieao111/comments/commentRss/59141.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/jieao111/services/trackbacks/59141.html</trackback:ping><description><![CDATA[Problem Description <br>Now give you two integers n m, you just tell me the m-th number after radix point in 1/n,for example n=4,the first numble after point is 2,the second is 5,and all 0 followed&nbsp;<br><br>Input <br>Each line of input will contain a pair of integers for n and m(1 &lt;=n &lt;=10^7,1 &lt;=m &lt;=10^5)&nbsp;<br>&nbsp;<br>Output <br>For each line of input, your program should print a numble on a line,according to the above rules&nbsp;<br><br>Sample Input <br>4 2 <br>5 7 <br>123 123&nbsp;<br><br>Sample Output <br>5 <br>0 <br>8 <br>这个题是网友问我的题，当时我写的程序是这样的<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;main()<br><img id=Codehighlighter1_12_245_Open_Image onclick="this.style.display='none'; Codehighlighter1_12_245_Open_Text.style.display='none'; Codehighlighter1_12_245_Closed_Image.style.display='inline'; Codehighlighter1_12_245_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_12_245_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_12_245_Closed_Text.style.display='none'; Codehighlighter1_12_245_Open_Image.style.display='inline'; Codehighlighter1_12_245_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_12_245_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_12_245_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">double</span><span style="COLOR: #000000">&nbsp;n,m,i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;cin</span><span style="COLOR: #000000">&gt;&gt;</span><span style="COLOR: #000000">m</span><span style="COLOR: #000000">&gt;&gt;</span><span style="COLOR: #000000">n;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">double</span><span style="COLOR: #000000">&nbsp;q</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">m;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(;n</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;n</span><span style="COLOR: #000000">--</span><span style="COLOR: #000000">)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">i</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">10</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;q</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">q</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">i;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">long</span><span style="COLOR: #000000">&nbsp;p</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">90</span><span style="COLOR: #000000">,q1</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">)q,i1</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">)i;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">(p</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">10</span><span style="COLOR: #000000">)</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">求个位数</span><span style="COLOR: #008000"><br><img id=Codehighlighter1_178_219_Open_Image onclick="this.style.display='none'; Codehighlighter1_178_219_Open_Text.style.display='none'; Codehighlighter1_178_219_Closed_Image.style.display='inline'; Codehighlighter1_178_219_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_178_219_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_178_219_Closed_Text.style.display='none'; Codehighlighter1_178_219_Open_Image.style.display='inline'; Codehighlighter1_178_219_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_178_219_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_178_219_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">q1</span><span style="COLOR: #000000">%</span><span style="COLOR: #000000">10</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;q1</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">q1</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">10</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;cout</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">p</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">endl;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span></div>
<br>可是发现了问题：用123检测时，越界了，于是成了负值。<br>于是我就发了帖子，大家给了我很多帮助。<br><br><a href="http://hi.csdn.net/C1053710211" target=_blank><var id=topicUserName csdnid="replyUsername">C1053710211</var></a> 给出了思路：这个题不能这样做，应该模拟除法的过程，不停的将余数*10，把商的每位求出来，直到求出第m位，循环结束。<br><br>星羽哥哥又给出了代码：<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">#include&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">iostream</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">using</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">namespace</span><span style="COLOR: #000000">&nbsp;std;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img id=Codehighlighter1_54_419_Open_Image onclick="this.style.display='none'; Codehighlighter1_54_419_Open_Text.style.display='none'; Codehighlighter1_54_419_Closed_Image.style.display='inline'; Codehighlighter1_54_419_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_54_419_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_54_419_Closed_Text.style.display='none'; Codehighlighter1_54_419_Open_Image.style.display='inline'; Codehighlighter1_54_419_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;main()&nbsp;</span><span id=Codehighlighter1_54_419_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_54_419_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;n;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;m;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;r;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;t&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;d&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">10</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;cin</span><span style="COLOR: #000000">&gt;&gt;</span><span style="COLOR: #000000">n</span><span style="COLOR: #000000">&gt;&gt;</span><span style="COLOR: #000000">m;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img id=Codehighlighter1_171_382_Open_Image onclick="this.style.display='none'; Codehighlighter1_171_382_Open_Text.style.display='none'; Codehighlighter1_171_382_Closed_Image.style.display='inline'; Codehighlighter1_171_382_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_171_382_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_171_382_Closed_Text.style.display='none'; Codehighlighter1_171_382_Open_Image.style.display='inline'; Codehighlighter1_171_382_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">&nbsp;(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;i&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;&nbsp;i&nbsp;</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">&nbsp;m;&nbsp;</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">i)&nbsp;</span><span id=Codehighlighter1_171_382_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_171_382_Open_Text><span style="COLOR: #000000">{<br><img id=Codehighlighter1_193_241_Open_Image onclick="this.style.display='none'; Codehighlighter1_193_241_Open_Text.style.display='none'; Codehighlighter1_193_241_Closed_Image.style.display='inline'; Codehighlighter1_193_241_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_193_241_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_193_241_Closed_Text.style.display='none'; Codehighlighter1_193_241_Open_Image.style.display='inline'; Codehighlighter1_193_241_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(t&nbsp;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">)&nbsp;</span><span id=Codehighlighter1_193_241_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_193_241_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;r&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">break</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img id=Codehighlighter1_279_310_Open_Image onclick="this.style.display='none'; Codehighlighter1_279_310_Open_Text.style.display='none'; Codehighlighter1_279_310_Closed_Image.style.display='inline'; Codehighlighter1_279_310_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_279_310_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_279_310_Closed_Text.style.display='none'; Codehighlighter1_279_310_Open_Image.style.display='inline'; Codehighlighter1_279_310_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;((r&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;(d&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;t&nbsp;</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">&nbsp;n))&nbsp;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">)&nbsp;</span><span id=Codehighlighter1_279_310_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_279_310_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;d&nbsp;</span><span style="COLOR: #000000">*=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">10</span><span style="COLOR: #000000">;<br><img id=Codehighlighter1_317_376_Open_Image onclick="this.style.display='none'; Codehighlighter1_317_376_Open_Text.style.display='none'; Codehighlighter1_317_376_Closed_Image.style.display='inline'; Codehighlighter1_317_376_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_317_376_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_317_376_Closed_Text.style.display='none'; Codehighlighter1_317_376_Open_Image.style.display='inline'; Codehighlighter1_317_376_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000">&nbsp;</span><span id=Codehighlighter1_317_376_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_317_376_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;(d&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;t)&nbsp;</span><span style="COLOR: #000000">%</span><span style="COLOR: #000000">&nbsp;n;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;d&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">10</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;cout</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">r</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">endl;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&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><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span></div>
<span style="COLOR: #000000">---------</span><span style="COLOR: #000000"><br><br>测试<br><br></span><span style="COLOR: #800080">31</span><span style="COLOR: #000000"> </span><span style="COLOR: #800080">10</span><span style="COLOR: #000000"><br></span><span style="COLOR: #800080">5</span><span style="COLOR: #000000"><br>请按任意键继续. . .<br></span><br><br>可是我在暑假总结时发现星羽的的代码的可读性很差，所以自己有写了个代码：<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;main()&nbsp;<br><img id=Codehighlighter1_12_186_Open_Image onclick="this.style.display='none'; Codehighlighter1_12_186_Open_Text.style.display='none'; Codehighlighter1_12_186_Closed_Image.style.display='inline'; Codehighlighter1_12_186_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_12_186_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_12_186_Closed_Text.style.display='none'; Codehighlighter1_12_186_Open_Image.style.display='inline'; Codehighlighter1_12_186_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_12_186_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_12_186_Open_Text><span style="COLOR: #000000">{&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;dividend,<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;digit;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;temp</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">10</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;cin</span><span style="COLOR: #000000">&gt;&gt;</span><span style="COLOR: #000000">dividend</span><span style="COLOR: #000000">&gt;&gt;</span><span style="COLOR: #000000">digit;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">(digit</span><span style="COLOR: #000000">!=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">)<br><img id=Codehighlighter1_97_147_Open_Image onclick="this.style.display='none'; Codehighlighter1_97_147_Open_Text.style.display='none'; Codehighlighter1_97_147_Closed_Image.style.display='inline'; Codehighlighter1_97_147_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_97_147_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_97_147_Closed_Text.style.display='none'; Codehighlighter1_97_147_Open_Image.style.display='inline'; Codehighlighter1_97_147_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_97_147_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_97_147_Open_Text><span style="COLOR: #000000">{&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;temp</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">temp</span><span style="COLOR: #000000">%</span><span style="COLOR: #000000">dividend;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;temp</span><span style="COLOR: #000000">*=</span><span style="COLOR: #000000">10</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #000000">--</span><span style="COLOR: #000000">digit;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;cout</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">temp</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">dividend;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&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">;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000">&nbsp;</span></div>
<br>我想比星羽的简单多了吧
<img src ="http://www.cppblog.com/jieao111/aggbug/59141.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/jieao111/" target="_blank">王超杰</a> 2008-08-17 17:37 <a href="http://www.cppblog.com/jieao111/articles/59141.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>几种排序</title><link>http://www.cppblog.com/jieao111/articles/59133.html</link><dc:creator>王超杰</dc:creator><author>王超杰</author><pubDate>Sun, 17 Aug 2008 09:11:00 GMT</pubDate><guid>http://www.cppblog.com/jieao111/articles/59133.html</guid><wfw:comment>http://www.cppblog.com/jieao111/comments/59133.html</wfw:comment><comments>http://www.cppblog.com/jieao111/articles/59133.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/jieao111/comments/commentRss/59133.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/jieao111/services/trackbacks/59133.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 大二下学期学习了数据结构，期末复习考试时，我曾经为了复习重写了代码，姑且贴上来，希望对需要的人有帮助，其中各种排序的名字在函数中有表现，在此不再赘述。void&nbsp;bullsort(int*a,int&nbsp;len){&nbsp;&nbsp;&nbsp;&nbsp;for(int&nbsp;i=0;i&lt;len;++i)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;...&nbsp;&nbsp;<a href='http://www.cppblog.com/jieao111/articles/59133.html'>阅读全文</a><img src ="http://www.cppblog.com/jieao111/aggbug/59133.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/jieao111/" target="_blank">王超杰</a> 2008-08-17 17:11 <a href="http://www.cppblog.com/jieao111/articles/59133.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>