﻿<?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++博客-yaoyaozii-随笔分类-常用模板和函数</title><link>http://www.cppblog.com/proyao/category/11312.html</link><description>基础不牢，地动山摇...
急不得...</description><language>zh-cn</language><lastBuildDate>Tue, 06 Apr 2010 21:53:00 GMT</lastBuildDate><pubDate>Tue, 06 Apr 2010 21:53:00 GMT</pubDate><ttl>60</ttl><item><title>a^b%p</title><link>http://www.cppblog.com/proyao/archive/2010/03/28/110761.html</link><dc:creator>Acaini.yaoyaozii</dc:creator><author>Acaini.yaoyaozii</author><pubDate>Sun, 28 Mar 2010 14:57:00 GMT</pubDate><guid>http://www.cppblog.com/proyao/archive/2010/03/28/110761.html</guid><wfw:comment>http://www.cppblog.com/proyao/comments/110761.html</wfw:comment><comments>http://www.cppblog.com/proyao/archive/2010/03/28/110761.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/proyao/comments/commentRss/110761.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/proyao/services/trackbacks/110761.html</trackback:ping><description><![CDATA[<div style="BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; PADDING-BOTTOM: 4px; BACKGROUND-COLOR: #eeeeee; PADDING-LEFT: 4px; WIDTH: 98%; PADDING-RIGHT: 5px; FONT-SIZE: 13px; WORD-BREAK: break-all; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 4px"><img id=Codehighlighter1_0_74_Open_Image onclick="this.style.display='none'; Codehighlighter1_0_74_Open_Text.style.display='none'; Codehighlighter1_0_74_Closed_Image.style.display='inline'; Codehighlighter1_0_74_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_0_74_Closed_Image onclick="this.style.display='none'; Codehighlighter1_0_74_Closed_Text.style.display='none'; Codehighlighter1_0_74_Open_Image.style.display='inline'; Codehighlighter1_0_74_Open_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif"><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_0_74_Closed_Text>/**/</span><span id=Codehighlighter1_0_74_Open_Text><span style="COLOR: #008000">/*</span><span style="COLOR: #008000"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">如果N是偶数，那么X^N&nbsp;=（X*X）^[N/2]；<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">如果N是奇数，那么X^N&nbsp;=&nbsp;X*X^(N-1)&nbsp;=&nbsp;X&nbsp;*（X*X）^[N/2]；<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif"></span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;powermod(</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,&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;p)</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">a^b&nbsp;%&nbsp;p</span><span style="COLOR: #008000"><br><img id=Codehighlighter1_119_221_Open_Image onclick="this.style.display='none'; Codehighlighter1_119_221_Open_Text.style.display='none'; Codehighlighter1_119_221_Closed_Image.style.display='inline'; Codehighlighter1_119_221_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_119_221_Closed_Image onclick="this.style.display='none'; Codehighlighter1_119_221_Closed_Text.style.display='none'; Codehighlighter1_119_221_Open_Image.style.display='inline'; Codehighlighter1_119_221_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_119_221_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_119_221_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">if</span><span style="COLOR: #000000">(b</span><span style="COLOR: #000000">==0</span><span style="COLOR: #000000">)&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">1</span><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">int</span><span style="COLOR: #000000">&nbsp;t</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">powermod((a</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">a)</span><span style="COLOR: #000000">%</span><span style="COLOR: #000000">p,&nbsp;b</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">,&nbsp;p);<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">(b</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">!=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">)&nbsp;t</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">(t</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">a)</span><span style="COLOR: #000000">%</span><span style="COLOR: #000000">p;<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;t;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif">}</span></span></div>
<br>
<div style="BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; PADDING-BOTTOM: 4px; BACKGROUND-COLOR: #eeeeee; PADDING-LEFT: 4px; WIDTH: 98%; PADDING-RIGHT: 5px; FONT-SIZE: 13px; WORD-BREAK: break-all; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 4px"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;modexp(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;a,</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;b,&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;p)<br><img id=Codehighlighter1_31_149_Open_Image onclick="this.style.display='none'; Codehighlighter1_31_149_Open_Text.style.display='none'; Codehighlighter1_31_149_Closed_Image.style.display='inline'; Codehighlighter1_31_149_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_31_149_Closed_Image onclick="this.style.display='none'; Codehighlighter1_31_149_Closed_Text.style.display='none'; Codehighlighter1_31_149_Open_Image.style.display='inline'; Codehighlighter1_31_149_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_31_149_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_31_149_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">int</span><span style="COLOR: #000000">&nbsp;t</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><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">while</span><span style="COLOR: #000000">(b</span><span style="COLOR: #000000">!=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">)<br><img id=Codehighlighter1_67_133_Open_Image onclick="this.style.display='none'; Codehighlighter1_67_133_Open_Text.style.display='none'; Codehighlighter1_67_133_Closed_Image.style.display='inline'; Codehighlighter1_67_133_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_67_133_Closed_Image onclick="this.style.display='none'; Codehighlighter1_67_133_Closed_Text.style.display='none'; Codehighlighter1_67_133_Open_Image.style.display='inline'; Codehighlighter1_67_133_Open_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_67_133_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_67_133_Open_Text><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;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(b</span><span style="COLOR: #000000">%</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">)&nbsp;t</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">(t</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">a)</span><span style="COLOR: #000000">%</span><span style="COLOR: #000000">p;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">(a</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">a)</span><span style="COLOR: #000000">%</span><span style="COLOR: #000000">p;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b</span><span style="COLOR: #000000">/=</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif">&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><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;t;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif">}</span></span></div>
<img src ="http://www.cppblog.com/proyao/aggbug/110761.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/proyao/" target="_blank">Acaini.yaoyaozii</a> 2010-03-28 22:57 <a href="http://www.cppblog.com/proyao/archive/2010/03/28/110761.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>一日小结</title><link>http://www.cppblog.com/proyao/archive/2009/10/04/97859.html</link><dc:creator>Acaini.yaoyaozii</dc:creator><author>Acaini.yaoyaozii</author><pubDate>Sun, 04 Oct 2009 10:38:00 GMT</pubDate><guid>http://www.cppblog.com/proyao/archive/2009/10/04/97859.html</guid><wfw:comment>http://www.cppblog.com/proyao/comments/97859.html</wfw:comment><comments>http://www.cppblog.com/proyao/archive/2009/10/04/97859.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/proyao/comments/commentRss/97859.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/proyao/services/trackbacks/97859.html</trackback:ping><description><![CDATA[<p><br>一.叉积<br><br>&nbsp;&nbsp;&nbsp;设 a(x1,y1), b(x2,y2)<br>二维：a x b=x1*y2-x2*y1<br><br>&nbsp;&nbsp;&nbsp;设p0(x0,y0), p1(x1,y1) ,p2(x2,y2), p3(x3,y3)<br>&nbsp;&nbsp;&lt;&nbsp;p0p1&gt;= (p1-p0) =(x1-x0,y1-y0);<br>&nbsp;&nbsp;&nbsp;&lt;p2p3&gt;= (p3-p2) =(x3-x2,y3-y2);<br>&nbsp;&nbsp;&nbsp;&lt;p0p1&gt; x &lt;p2p3&gt; =(p1-p0) x (p3-p2)&nbsp;= (x1-x0)*(y3-y2)- (x3-x2)* (y1-y0);&nbsp; </p>
<p><span>&nbsp;&nbsp;&nbsp;(p1-p0) x (p3-p2)</span><span>结果的意义</span><span>:</span></p>
<p><span><span>&nbsp;&nbsp; </span></span><span>正</span><span>: &lt;p0p1&gt;</span><span>在</span><span>&lt;p2,p3&gt;</span><span>顺时针</span><span>(0,pi)</span><span>内</span></p>
<p><span><span>&nbsp;&nbsp; </span></span><span>负</span><span>: &lt;p0p1&gt;</span><span>在</span><span>&lt;p2,p3&gt;</span><span>逆时针</span><span>(0,pi)</span><span>内</span></p>
<p><span><span>&nbsp;&nbsp; </span>0 : &lt;p0p1&gt;, &lt;p2p3&gt;</span><span>共线</span><span>,</span><span>夹角为</span><span>0</span><span>或</span><span>pi<br></span></p>
<p>&nbsp;</p>
<p>&#160;</p>
<div style="BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; PADDING-BOTTOM: 4px; BACKGROUND-COLOR: #eeeeee; PADDING-LEFT: 4px; WIDTH: 98%; PADDING-RIGHT: 5px; FONT-SIZE: 13px; WORD-BREAK: break-all; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 4px"><img id=Codehighlighter1_40_99_Open_Image onclick="this.style.display='none'; Codehighlighter1_40_99_Open_Text.style.display='none'; Codehighlighter1_40_99_Closed_Image.style.display='inline'; Codehighlighter1_40_99_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_40_99_Closed_Image onclick="this.style.display='none'; Codehighlighter1_40_99_Closed_Text.style.display='none'; Codehighlighter1_40_99_Open_Image.style.display='inline'; Codehighlighter1_40_99_Open_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif"><span style="COLOR: #0000ff">double</span><span style="COLOR: #000000">&nbsp;xmult(point&nbsp;p0,point&nbsp;p1,point&nbsp;p2)</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_40_99_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_40_99_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;(p1.x</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">p0.x)</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">(p2.y</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">p0.y)</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">(p2.x</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">p0.x)</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">(p1.y</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">p0.y);<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif">}</span></span><span style="COLOR: #000000"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span></div>
<p>&nbsp;&nbsp;&nbsp;可用于判p2与&lt;p0 p1&gt;的关系<br><br>&nbsp;</p>
<div style="BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; PADDING-BOTTOM: 4px; BACKGROUND-COLOR: #eeeeee; PADDING-LEFT: 4px; WIDTH: 98%; PADDING-RIGHT: 5px; FONT-SIZE: 13px; WORD-BREAK: break-all; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 4px"><img id=Codehighlighter1_49_108_Open_Image onclick="this.style.display='none'; Codehighlighter1_49_108_Open_Text.style.display='none'; Codehighlighter1_49_108_Closed_Image.style.display='inline'; Codehighlighter1_49_108_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_49_108_Closed_Image onclick="this.style.display='none'; Codehighlighter1_49_108_Closed_Text.style.display='none'; Codehighlighter1_49_108_Open_Image.style.display='inline'; Codehighlighter1_49_108_Open_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif"><span style="COLOR: #0000ff">double</span><span style="COLOR: #000000">&nbsp;xmult(point&nbsp;p0,point&nbsp;p1,point&nbsp;p2,point&nbsp;p3)</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_49_108_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_49_108_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;(p1.x</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">p0.x)</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">(p3.y</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">p2.y)</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">(p3.x</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">p2.x)</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">(p1.y</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">p0.y);<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif">}</span></span></div>
<p>&nbsp;&nbsp;&nbsp;可用于判&lt;p0p1&gt;, &lt;p2p3&gt;位置关系<br><br></p>
<div style="BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; PADDING-BOTTOM: 4px; BACKGROUND-COLOR: #eeeeee; PADDING-LEFT: 4px; WIDTH: 98%; PADDING-RIGHT: 5px; FONT-SIZE: 13px; WORD-BREAK: break-all; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 4px"><img id=Codehighlighter1_27_94_Open_Image onclick="this.style.display='none'; Codehighlighter1_27_94_Open_Text.style.display='none'; Codehighlighter1_27_94_Closed_Image.style.display='inline'; Codehighlighter1_27_94_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_27_94_Closed_Image onclick="this.style.display='none'; Codehighlighter1_27_94_Closed_Text.style.display='none'; Codehighlighter1_27_94_Open_Image.style.display='inline'; Codehighlighter1_27_94_Open_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif"><span style="COLOR: #0000ff">double</span><span style="COLOR: #000000">&nbsp;xmult(line&nbsp;u,line&nbsp;v)</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_27_94_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_27_94_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;(u.b.x</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">u.a.x)</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">(v.b.y</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">v.a.y)</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">(v.b.x</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">v.a.x)</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">(u.b.y</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">u.a.y);<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif">}</span></span></div>
<p><br>&nbsp;</p>
<div style="BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; PADDING-BOTTOM: 4px; BACKGROUND-COLOR: #eeeeee; PADDING-LEFT: 4px; WIDTH: 98%; PADDING-RIGHT: 5px; FONT-SIZE: 13px; WORD-BREAK: break-all; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 4px"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"><span style="COLOR: #008000">//</span><span style="COLOR: #008000">计算两直线交点,注意事先判断直线是否平行!</span><span style="COLOR: #008000"><br><img id=Codehighlighter1_57_269_Open_Image onclick="this.style.display='none'; Codehighlighter1_57_269_Open_Text.style.display='none'; Codehighlighter1_57_269_Closed_Image.style.display='inline'; Codehighlighter1_57_269_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_57_269_Closed_Image onclick="this.style.display='none'; Codehighlighter1_57_269_Closed_Text.style.display='none'; Codehighlighter1_57_269_Open_Image.style.display='inline'; Codehighlighter1_57_269_Open_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif"></span><span style="COLOR: #000000">point&nbsp;intersection(line&nbsp;u,line&nbsp;v)</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_57_269_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_57_269_Open_Text><span style="COLOR: #000000">{<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;point&nbsp;ret</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">u.a;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">double</span><span style="COLOR: #000000">&nbsp;t</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">((u.a.x</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">v.a.x)</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">(v.a.y</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">v.b.y)</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">(u.a.y</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">v.a.y)</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">(v.a.x</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">v.b.x))<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">((u.a.x</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">u.b.x)</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">(v.a.y</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">v.b.y)</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">(u.a.y</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">u.b.y)</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">(v.a.x</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">v.b.x));<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;ret.x</span><span style="COLOR: #000000">+=</span><span style="COLOR: #000000">(u.b.x</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">u.a.x)</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">t;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;ret.y</span><span style="COLOR: #000000">+=</span><span style="COLOR: #000000">(u.b.y</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">u.a.y)</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">t;<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;ret;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif">}</span></span></div>
<p><br><br>&nbsp;</p>
<div style="BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; PADDING-BOTTOM: 4px; BACKGROUND-COLOR: #eeeeee; PADDING-LEFT: 4px; WIDTH: 98%; PADDING-RIGHT: 5px; FONT-SIZE: 13px; WORD-BREAK: break-all; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 4px"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;relat_and_intersection(line&nbsp;u,line&nbsp;v,point&nbsp;</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">ret)<br><img id=Codehighlighter1_53_511_Open_Image onclick="this.style.display='none'; Codehighlighter1_53_511_Open_Text.style.display='none'; Codehighlighter1_53_511_Closed_Image.style.display='inline'; Codehighlighter1_53_511_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_53_511_Closed_Image onclick="this.style.display='none'; Codehighlighter1_53_511_Closed_Text.style.display='none'; Codehighlighter1_53_511_Open_Image.style.display='inline'; Codehighlighter1_53_511_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_53_511_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_53_511_Open_Text><span style="COLOR: #000000">{<br><img id=Codehighlighter1_56_98_Open_Image onclick="this.style.display='none'; Codehighlighter1_56_98_Open_Text.style.display='none'; Codehighlighter1_56_98_Closed_Image.style.display='inline'; Codehighlighter1_56_98_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_56_98_Closed_Image onclick="this.style.display='none'; Codehighlighter1_56_98_Closed_Text.style.display='none'; Codehighlighter1_56_98_Open_Image.style.display='inline'; Codehighlighter1_56_98_Open_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_56_98_Closed_Text>/**/</span><span id=Codehighlighter1_56_98_Open_Text><span style="COLOR: #008000">/*</span><span style="COLOR: #008000"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;LINE&nbsp;重合<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;NONE&nbsp;平行<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;INTERSECT&nbsp;相交并返回交点<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">*/</span></span><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">double</span><span style="COLOR: #000000">&nbsp;a1,b1,c1,a2,b2,c2;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">系数</span><span style="COLOR: #008000"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif"></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;a1</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">u.a.y</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">u.b.y;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;b1</span><span style="COLOR: #000000">=-</span><span style="COLOR: #000000">(u.a.x</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">u.b.x);<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;c1</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">u.a.x</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">u.b.y</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">u.a.y</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">u.b.x;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;a2</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">v.a.y</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">v.b.y;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;b2</span><span style="COLOR: #000000">=-</span><span style="COLOR: #000000">(v.a.x</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">v.b.x);<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;c2</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">v.a.x</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">v.b.y</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">v.a.y</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">v.b.x;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif"><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">(fabs(a1</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">b2</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">a2</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">b1)</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">eps)<br><img id=Codehighlighter1_295_389_Open_Image onclick="this.style.display='none'; Codehighlighter1_295_389_Open_Text.style.display='none'; Codehighlighter1_295_389_Closed_Image.style.display='inline'; Codehighlighter1_295_389_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_295_389_Closed_Image onclick="this.style.display='none'; Codehighlighter1_295_389_Closed_Text.style.display='none'; Codehighlighter1_295_389_Open_Image.style.display='inline'; Codehighlighter1_295_389_Open_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_295_389_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_295_389_Open_Text><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;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(&nbsp;fabs(a1</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">c2</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">a2</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">c1)</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">eps&nbsp;</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000">&nbsp;fabs(b1</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">c2</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">b2</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">c1)</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">eps&nbsp;)<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;LINE;<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">else</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;NONE;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif">&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><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">else</span><span style="COLOR: #000000">&nbsp;<br><img id=Codehighlighter1_399_509_Open_Image onclick="this.style.display='none'; Codehighlighter1_399_509_Open_Text.style.display='none'; Codehighlighter1_399_509_Closed_Image.style.display='inline'; Codehighlighter1_399_509_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_399_509_Closed_Image onclick="this.style.display='none'; Codehighlighter1_399_509_Closed_Text.style.display='none'; Codehighlighter1_399_509_Open_Image.style.display='inline'; Codehighlighter1_399_509_Open_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_399_509_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_399_509_Open_Text><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;point&nbsp;ret;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ret.x</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">(b1</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">c2</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">b2</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">c1)</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">(a1</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">b2</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">a2</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">b1);<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ret.y</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">(a2</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">c1</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">a1</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">c2)</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">(a1</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">b2</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">a2</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">b1);<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;INTERSECT;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif">&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif">}</span></span></div>
<img src ="http://www.cppblog.com/proyao/aggbug/97859.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/proyao/" target="_blank">Acaini.yaoyaozii</a> 2009-10-04 18:38 <a href="http://www.cppblog.com/proyao/archive/2009/10/04/97859.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>KMP</title><link>http://www.cppblog.com/proyao/archive/2009/07/30/91728.html</link><dc:creator>Acaini.yaoyaozii</dc:creator><author>Acaini.yaoyaozii</author><pubDate>Thu, 30 Jul 2009 09:22:00 GMT</pubDate><guid>http://www.cppblog.com/proyao/archive/2009/07/30/91728.html</guid><wfw:comment>http://www.cppblog.com/proyao/comments/91728.html</wfw:comment><comments>http://www.cppblog.com/proyao/archive/2009/07/30/91728.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/proyao/comments/commentRss/91728.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/proyao/services/trackbacks/91728.html</trackback:ping><description><![CDATA[<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</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></span><span style="COLOR: #0000ff">#define</span><span style="COLOR: #000000">&nbsp;M&nbsp;1000</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">int&nbsp;kmp(char&nbsp;*t,char&nbsp;*p,int&nbsp;pos)</span><span style="COLOR: #008000"><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;kmp(</span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">t,</span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">p)<br><img id=Codehighlighter1_115_557_Open_Image onclick="this.style.display='none'; Codehighlighter1_115_557_Open_Text.style.display='none'; Codehighlighter1_115_557_Closed_Image.style.display='inline'; Codehighlighter1_115_557_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_115_557_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_115_557_Closed_Text.style.display='none'; Codehighlighter1_115_557_Open_Image.style.display='inline'; Codehighlighter1_115_557_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_115_557_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_115_557_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: #008000">//</span><span style="COLOR: #008000">p模式串，t主串<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">预处理</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;next[M];<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">memset(next,0,sizeof(next));</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;&nbsp;i,j,<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lent</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">strlen(t),<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lenp</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">strlen(p);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;next[</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">]</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;i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;j</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;</span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">(i</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">lenp</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">)<br><img id=Codehighlighter1_271_408_Open_Image onclick="this.style.display='none'; Codehighlighter1_271_408_Open_Text.style.display='none'; Codehighlighter1_271_408_Closed_Image.style.display='inline'; Codehighlighter1_271_408_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_271_408_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_271_408_Closed_Text.style.display='none'; Codehighlighter1_271_408_Open_Image.style.display='inline'; Codehighlighter1_271_408_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_271_408_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_271_408_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">if</span><span style="COLOR: #000000">(j</span><span style="COLOR: #000000">==-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">||</span><span style="COLOR: #000000">&nbsp;p[i]</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">p[j])<br><img id=Codehighlighter1_301_387_Open_Image onclick="this.style.display='none'; Codehighlighter1_301_387_Open_Text.style.display='none'; Codehighlighter1_301_387_Closed_Image.style.display='inline'; Codehighlighter1_301_387_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_301_387_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_301_387_Closed_Text.style.display='none'; Codehighlighter1_301_387_Open_Image.style.display='inline'; Codehighlighter1_301_387_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_301_387_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_301_387_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: #000000">++</span><span style="COLOR: #000000">i;</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">j;<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">(p[i]</span><span style="COLOR: #000000">!=</span><span style="COLOR: #000000">p[j])&nbsp;next[i]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">j;<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">else</span><span style="COLOR: #000000">&nbsp;next[i]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">next[j];<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: #008000">//</span><span style="COLOR: #008000">next[i]=j;</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top></span><span style="COLOR: #000000">&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">else</span><span style="COLOR: #000000">&nbsp;j</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">next[j];<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: #008000">//</span><span style="COLOR: #008000">匹配</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;j</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/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">(i</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">lent&nbsp;</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000">&nbsp;j</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">lenp)<br><img id=Codehighlighter1_452_510_Open_Image onclick="this.style.display='none'; Codehighlighter1_452_510_Open_Text.style.display='none'; Codehighlighter1_452_510_Closed_Image.style.display='inline'; Codehighlighter1_452_510_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_452_510_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_452_510_Closed_Text.style.display='none'; Codehighlighter1_452_510_Open_Image.style.display='inline'; Codehighlighter1_452_510_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_452_510_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_452_510_Open_Text><span style="COLOR: #000000">{<br><img id=Codehighlighter1_480_489_Open_Image onclick="this.style.display='none'; Codehighlighter1_480_489_Open_Text.style.display='none'; Codehighlighter1_480_489_Closed_Image.style.display='inline'; Codehighlighter1_480_489_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_480_489_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_480_489_Closed_Text.style.display='none'; Codehighlighter1_480_489_Open_Image.style.display='inline'; Codehighlighter1_480_489_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">(j</span><span style="COLOR: #000000">==-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">||</span><span style="COLOR: #000000">&nbsp;t[i]</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">p[j])&nbsp;</span><span id=Codehighlighter1_480_489_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_480_489_Open_Text><span style="COLOR: #000000">{</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">i;</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">j;}</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">else</span><span style="COLOR: #000000">&nbsp;j</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">next[j];<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">if</span><span style="COLOR: #000000">(j</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">lenp)&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;i</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">lenp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000">&nbsp;</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/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><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 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_574_650_Open_Image onclick="this.style.display='none'; Codehighlighter1_574_650_Open_Text.style.display='none'; Codehighlighter1_574_650_Closed_Image.style.display='inline'; Codehighlighter1_574_650_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_574_650_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_574_650_Closed_Text.style.display='none'; Codehighlighter1_574_650_Open_Image.style.display='inline'; Codehighlighter1_574_650_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_574_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_574_650_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">char</span><span style="COLOR: #000000">&nbsp;t[</span><span style="COLOR: #000000">100</span><span style="COLOR: #000000">],p[</span><span style="COLOR: #000000">100</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">while</span><span style="COLOR: #000000">(cin</span><span style="COLOR: #000000">&gt;&gt;</span><span style="COLOR: #000000">t</span><span style="COLOR: #000000">&gt;&gt;</span><span style="COLOR: #000000">p)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">kmp(t,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;</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></div>
//<br>
<img src ="http://www.cppblog.com/proyao/aggbug/91728.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/proyao/" target="_blank">Acaini.yaoyaozii</a> 2009-07-30 17:22 <a href="http://www.cppblog.com/proyao/archive/2009/07/30/91728.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>筛法求素数</title><link>http://www.cppblog.com/proyao/archive/2009/07/26/91225.html</link><dc:creator>Acaini.yaoyaozii</dc:creator><author>Acaini.yaoyaozii</author><pubDate>Sun, 26 Jul 2009 02:39:00 GMT</pubDate><guid>http://www.cppblog.com/proyao/archive/2009/07/26/91225.html</guid><wfw:comment>http://www.cppblog.com/proyao/comments/91225.html</wfw:comment><comments>http://www.cppblog.com/proyao/archive/2009/07/26/91225.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/proyao/comments/commentRss/91225.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/proyao/services/trackbacks/91225.html</trackback:ping><description><![CDATA[<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">#define</span><span style="COLOR: #000000">&nbsp;M&nbsp;10000</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">bool</span><span style="COLOR: #000000">&nbsp;prime[M];<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;pri[M];<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;prime()<br><img id=Codehighlighter1_56_250_Open_Image onclick="this.style.display='none'; Codehighlighter1_56_250_Open_Text.style.display='none'; Codehighlighter1_56_250_Closed_Image.style.display='inline'; Codehighlighter1_56_250_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_56_250_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_56_250_Closed_Text.style.display='none'; Codehighlighter1_56_250_Open_Image.style.display='inline'; Codehighlighter1_56_250_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_56_250_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_56_250_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: #008000">//</span><span style="COLOR: #008000">1表示不是素数，0表示是素数<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">memset(prime,0,sizeof(prime));</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;i,j,<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;k</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/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;prime[</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">prime[</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br><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">(i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">;i</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">M;i</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;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(prime[i]</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">)&nbsp;<br><img id=Codehighlighter1_188_248_Open_Image onclick="this.style.display='none'; Codehighlighter1_188_248_Open_Text.style.display='none'; Codehighlighter1_188_248_Closed_Image.style.display='inline'; Codehighlighter1_188_248_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_188_248_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_188_248_Closed_Text.style.display='none'; Codehighlighter1_188_248_Open_Image.style.display='inline'; Codehighlighter1_188_248_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_188_248_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_188_248_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: #008000">//</span><span style="COLOR: #008000">pri[k++]=i;</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(j</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">i;j</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">M;j</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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;prime[j]</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/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/ExpandedBlockEnd.gif" align=top>}</span></span></div>
<img src ="http://www.cppblog.com/proyao/aggbug/91225.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/proyao/" target="_blank">Acaini.yaoyaozii</a> 2009-07-26 10:39 <a href="http://www.cppblog.com/proyao/archive/2009/07/26/91225.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>