﻿<?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++博客-WHy so serious?-随笔分类-思考</title><link>http://www.cppblog.com/tabmood/category/12078.html</link><description>太阳下早已没有新鲜事</description><language>zh-cn</language><lastBuildDate>Tue, 14 Jun 2011 18:26:45 GMT</lastBuildDate><pubDate>Tue, 14 Jun 2011 18:26:45 GMT</pubDate><ttl>60</ttl><item><title>一周之后</title><link>http://www.cppblog.com/tabmood/archive/2011/06/14/148680.html</link><dc:creator>Euclidvi31</dc:creator><author>Euclidvi31</author><pubDate>Tue, 14 Jun 2011 14:06:00 GMT</pubDate><guid>http://www.cppblog.com/tabmood/archive/2011/06/14/148680.html</guid><wfw:comment>http://www.cppblog.com/tabmood/comments/148680.html</wfw:comment><comments>http://www.cppblog.com/tabmood/archive/2011/06/14/148680.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/tabmood/comments/commentRss/148680.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/tabmood/services/trackbacks/148680.html</trackback:ping><description><![CDATA[<div style="color: #000000; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 14px; margin-top: 5px; margin-right: 5px; margin-bottom: 5px; margin-left: 5px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #ffffff; line-height: 160%; "><p>因为blogbus超级不稳定，所以这篇就放这边了。<br />本来计划一周一篇的整理这周晚了一些，因为上周女朋友生病了，所以大多数的时间都在陪她，基本上就是她那里、学校和公司来回跑，隔了这几天，现在可以静下来，总结一下。其实我对这种自我整理还是很喜欢的，但是每次公司的scrum meeting都会有些忐忑不安，呵呵，可能有时候底气还不太足吧，毕竟在公司也没有做到百分之百，好吧，看来还有提升的空间。</p><p>公司里面还是老样子，上次反省了一次之后好了一些，感觉做事情的时候会主动的给自己压力，希望自己能做的更好，当然效果还是不错的，但是有些程序什么的还有些硬伤，呵呵，还需要不断总结吧。有时候leader不管了是比较容易走神，因为自己也会觉得没东西可做了，但其实还是有很多的。值得高兴的是并没有像之前那样那么无所事事，闲下来的时候还是可以看一些自己感兴趣的东西。比如今天早晨就看了一些powershell的东西，弄了一下自动化的输入，感觉效果还不错，另外看看大牛的博客，也感觉收获颇丰。怎么说的，希望稳定下来之后还是能有所进步，有些事情还是要主动一些。</p><p>上周的波形拟合有了一些进展，不过说是进展，其实很惭愧，拟合的效果还是不好，得到的结果就是单纯用hermite多项式根本行不通，果然还是要和论文上的保持一致。我也找到了那篇原文，准备尝试一下他们的函数，希望这周能看到结果。</p><p>嗯，先写到这里，感觉有些累了，想起别的东西在添上吧 :-) 。</p></div><img src ="http://www.cppblog.com/tabmood/aggbug/148680.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/tabmood/" target="_blank">Euclidvi31</a> 2011-06-14 22:06 <a href="http://www.cppblog.com/tabmood/archive/2011/06/14/148680.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>普遍性与一般性</title><link>http://www.cppblog.com/tabmood/archive/2009/11/17/101201.html</link><dc:creator>Euclidvi31</dc:creator><author>Euclidvi31</author><pubDate>Tue, 17 Nov 2009 06:33:00 GMT</pubDate><guid>http://www.cppblog.com/tabmood/archive/2009/11/17/101201.html</guid><wfw:comment>http://www.cppblog.com/tabmood/comments/101201.html</wfw:comment><comments>http://www.cppblog.com/tabmood/archive/2009/11/17/101201.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/tabmood/comments/commentRss/101201.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/tabmood/services/trackbacks/101201.html</trackback:ping><description><![CDATA[

<p>最近在看波利亚的<a href="http://www.douban.com/subject/1134230/">《数学与猜想》</a>，关于普遍性和一般性是归纳的一种很有效的方法，就从一道题目开始吧。</p> <p>证明直角三角形的三边a，b，c，其中a是斜边，满足a^2 = b^2 + c^2。</p> <ul> <li>关于勾股定理，《Proofs Without Words》这本书里一开始就给我们提供了很多经典的图形证明。  </li><li>这里为我们提供了很好的归纳法证明，形象的运用了一般性-特殊性的性质。</li></ul> <p><a href="http://www.cppblog.com/images/cppblog_com/tabmood/WindowsLiveWriter/e24edfacf07b_9900/eucilvi31.png"><img title="eucilvi31" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="434" alt="eucilvi31" src="http://www.cppblog.com/images/cppblog_com/tabmood/WindowsLiveWriter/e24edfacf07b_9900/eucilvi31_thumb.png" width="640" border="0"></a> </p> <ul> <li>从I一般化到II，然后特殊化III。假如有三个相似多边形画在一个直角三角形的三边上，那么画在斜边上的多边形的面积应等于画在另外两边上的多边形面积之和。</li></ul> <p>接下来是另外一道题目。</p> <p>一个三角形的三边长分别是l，m和n，其中它们都是正整数并且l&lt;=m&lt;=n[取n=1、2、3&#8230;]，对于给定的n，求满足所述条件的不同三角形的个数，求出三角形的个数依赖于n的一般规律。</p> <ul> <li>从n=1开始我们现列举一下  </li><li>n=1, 1 =1(m,l= 1,1)  </li><li>n=2, 2 =1+1(m,l= 2,2||2,1)  </li><li>n=3, 4 =3+1(m,l= 3,3||3,2||3,1||2,2)</li></ul> <p>或许你已经看出来了要满足条件的三角形首先要满足m&gt;n/2，然后m+l&gt;n，或许你已经想根据这些条件来进行概括了，但这个概括的过程未免太容易出错，我们不妨再列举下去。</p> <ul> <li>n=1, 1=1 (m,l= 1,1)  </li><li>n=2, 2=1+1 (m,l= 2,2||2,1)  </li><li>n=3, 4=3+1 (m,l= 3,3||3,2||3,1||2,2)  </li><li>n=4, 6=4+2 (m,l=4,4||4,3||4,2||4,1||3,3||3,2)  </li><li>n=5, 9=5+3+1 (m,l=5,5||5,4||5,3||5,2||5,1||4,4||4,3||4,2||3,3)  </li><li>&#8230;&#8230;</li></ul> <p>我想你应经看到规律了，他已经变成了一个纯数字的问题，而三角形的个数为n+(n-2)+(n-4)&#8230;&#8230;这样再归纳就很简单了。</p> <ul></ul><img src ="http://www.cppblog.com/tabmood/aggbug/101201.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/tabmood/" target="_blank">Euclidvi31</a> 2009-11-17 14:33 <a href="http://www.cppblog.com/tabmood/archive/2009/11/17/101201.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>几道题目</title><link>http://www.cppblog.com/tabmood/archive/2009/10/24/99344.html</link><dc:creator>Euclidvi31</dc:creator><author>Euclidvi31</author><pubDate>Sat, 24 Oct 2009 02:01:00 GMT</pubDate><guid>http://www.cppblog.com/tabmood/archive/2009/10/24/99344.html</guid><wfw:comment>http://www.cppblog.com/tabmood/comments/99344.html</wfw:comment><comments>http://www.cppblog.com/tabmood/archive/2009/10/24/99344.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/tabmood/comments/commentRss/99344.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/tabmood/services/trackbacks/99344.html</trackback:ping><description><![CDATA[
1、一道C TRAPS上的习题，写一段程序使支持嵌套注释和不支持嵌套注释的两种编译器运行的结果不一样。<br>语句肯定是从嵌套注释的地方来构造，两种编译器不同的地方就在于符号的匹配。<br>/* /* */ " */ " /* " /* */或者/* /* / 0* / **/1都可以，可以说是构造一个二义性的文法。<br><br>2、第二题是一道笔试题，写个函数pp(a,b),(其中a&lt;b)打印出如下结果：<br>a<br>a+1<br>...<br>b-1<br>b<br>b-1<br>...<br>a+1<br>a<br>比如pp(1, 5)<br>1<br>2<br>3<br>4<br>5<br>4<br>3<br>2<br>1<br>。<br>题目就是这样，写出一个这样的函数应该不难，但题目要求是只使用一条语句，这就无疑增加了难度，<br>那我们分析如何才能用一条语句来构造呢？首先按照题目的输出来看肯定有循环，那我们先简单些，不用循环语句来写，递归式很好的形式，<br>
<div style="border-left-color: rgb(204, 204, 204); padding-bottom: 4px; background-color: rgb(238, 238, 238); padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; padding-top: 4px; "><img align="top" src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;p(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;a,&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;b)<br><img id="Codehighlighter1_21_117_Open_Image" onclick="this.style.display='none'; Codehighlighter1_21_117_Open_Text.style.display='none'; Codehighlighter1_21_117_Closed_Image.style.display='inline'; Codehighlighter1_21_117_Closed_Text.style.display='inline';" align="top" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="DISPLAY: none" id="Codehighlighter1_21_117_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_21_117_Closed_Text.style.display='none'; Codehighlighter1_21_117_Open_Image.style.display='inline'; Codehighlighter1_21_117_Open_Text.style.display='inline';" align="top" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif"></span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id="Codehighlighter1_21_117_Closed_Text"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id="Codehighlighter1_21_117_Open_Text"><span style="COLOR: #000000">{<br><img align="top" src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%d\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;a);<br><img align="top" src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(a&nbsp;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&nbsp;b)<br><img align="top" src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;;<br><img align="top" src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000"><br><img align="top" src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p(a</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">,&nbsp;b);<br><img align="top" src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%d\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;a);<br><img align="top" src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;;<br><img align="top" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif">}</span></span></div>
它为我们提供了一种转换的很好形式，因为没有用到while等循环形式，只有条件判断的话还是很好处理的可以使用?:或者&amp;&amp;和||的运算规则<br>
<div style="border-left-color: rgb(204, 204, 204); padding-bottom: 4px; background-color: rgb(238, 238, 238); padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; padding-top: 4px; "><img align="top" src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;pp(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;a,&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;b)<br><img id="Codehighlighter1_21_100_Open_Image" onclick="this.style.display='none'; Codehighlighter1_21_100_Open_Text.style.display='none'; Codehighlighter1_21_100_Closed_Image.style.display='inline'; Codehighlighter1_21_100_Closed_Text.style.display='inline';" align="top" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="DISPLAY: none" id="Codehighlighter1_21_100_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_21_100_Closed_Text.style.display='none'; Codehighlighter1_21_100_Open_Image.style.display='inline'; Codehighlighter1_21_100_Open_Text.style.display='inline';" align="top" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif"></span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id="Codehighlighter1_21_100_Closed_Text"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id="Codehighlighter1_21_100_Open_Text"><span style="COLOR: #000000">{<br><img align="top" src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;printf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%d\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;a)&nbsp;</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000">&nbsp;a</span><span style="COLOR: #000000">!=</span><span style="COLOR: #000000">b&nbsp;</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000">&nbsp;(pp(a</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">,&nbsp;b)&nbsp;</span><span style="COLOR: #000000">||</span><span style="COLOR: #000000">&nbsp;(</span><span style="COLOR: #000000">!</span><span style="COLOR: #000000">printf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%d\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;a)));<br><img align="top" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif">}</span></span></div>
把第一个&amp;&amp;运算符改成，运算符也是可以的。<br><br>3、<a href="http://www.douban.com/subject/2124114/">How to solve it</a>的一道题目，用数字0~9构造一组数，使它们的和等于100,其中每个数字有且只能出现一次。<br>答案是没有这一组数的，可以证明如下：<br>这些数最大肯定不会超过两位，那么假设十位数字之和为t<br>则应满足10t + (45-t) =100<br>结果是不存在这个整数。<br>证明过程巧妙地转换了问题性质，并用方程的形式表示了出来。 <img src ="http://www.cppblog.com/tabmood/aggbug/99344.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/tabmood/" target="_blank">Euclidvi31</a> 2009-10-24 10:01 <a href="http://www.cppblog.com/tabmood/archive/2009/10/24/99344.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>