﻿<?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>语源科技BlogJava-平行的宇宙,折射的生命</title><link>http://www.blogjava.net/comic222/</link><description>放手去爱</description><language>zh-cn</language><lastBuildDate>Sun, 12 Apr 2026 07:40:21 GMT</lastBuildDate><pubDate>Sun, 12 Apr 2026 07:40:21 GMT</pubDate><ttl>60</ttl><item><title>算24点 算法整理和原理说明</title><link>http://www.blogjava.net/comic222/archive/2009/01/06/250101.html</link><dc:creator>DeEpBLuE222</dc:creator><author>DeEpBLuE222</author><pubDate>Tue, 06 Jan 2009 07:04:00 GMT</pubDate><guid>http://www.blogjava.net/comic222/archive/2009/01/06/250101.html</guid><wfw:comment>http://www.blogjava.net/comic222/comments/250101.html</wfw:comment><comments>http://www.blogjava.net/comic222/archive/2009/01/06/250101.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/comic222/comments/commentRss/250101.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/comic222/services/trackbacks/250101.html</trackback:ping><description><![CDATA[<span id="ContentLabel" style="padding: 0px 10px; display: block;">给定4个整
数，其中每个数字只能使用一次；任意使用 + - * / ( )
，构造出一个表达式，使得最终结果为24，这就是常见的算24点的游戏。这方面的程序很多，一般都是穷举求解。本文介绍一种典型的算24点的程序算法，并
给出两个具体的算24点的程序：一个是面向过程的C实现，一个是面向对象的java实现。<br />
<br />
</span><span id="ContentLabel" style="padding: 0px 10px; display: block;">
<p>基本原理是穷举4个整数所有可能的表达式，然后对表达式求值。</p>
<p>表达式的定义： expression = (expression|number) operator (expression|number)</p>
<p>因为能使用的4种运算符 + - * / 都是2元运算符，所以本文中只考虑2元运算符。2元运算符接收两个参数，输出计算结果，输出的结果参与后续的计算。</p>
<p>由上所述，构造所有可能的表达式的算法如下：</p>
<p>(1) 将4个整数放入数组中<br />
(2) 在数组中取两个数字的排列，共有 P(4,2) 种排列。对每一个排列，<br />
(2.1) 对 + - * / 每一个运算符，<br />
(2.1.1) 根据此排列的两个数字和运算符，计算结果<br />
(2.1.2) 改表数组：将此排列的两个数字从数组中去除掉，将 2.1.1 计算的结果放入数组中<br />
(2.1.3) 对新的数组，重复步骤 2<br />
(2.1.4) 恢复数组：将此排列的两个数字加入数组中，将 2.1.1 计算的结果从数组中去除掉</p>
<p>可见这是一个递归过程。步骤 2 就是递归函数。当数组中只剩下一个数字的时候，这就是表达式的最终结果，此时递归结束。</p>
<p>在程序中，一定要注意递归的现场保护和恢复，也就是递归调用之前与之后，现场状态应该保持一致。在上述算法中，递归现场就是指数组，2.1.2 改变数组以进行下一层递归调用，2.1.3 则恢复数组，以确保当前递归调用获得下一个正确的排列。</p>
<p>括号 () 的作用只是改变运算符的优先级，也就是运算符的计算顺序。所以在以上算法中，无需考虑括号。括号只是在输出时需加以考虑。</p>
</span>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
-->#include &lt;iostream&gt;<br />
#include &lt;string&gt;<br />
#include &lt;cmath&gt; <br />
<span style="color: #000000;"><br />
#</span><span style="color: #0000ff;">using</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">System.dll</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br />
#</span><span style="color: #0000ff;">using</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">System.Configuration.Install.dll</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br />
<br />
<br />
</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 />
</span><span style="color: #0000ff;">using</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">namespace</span><span style="color: #000000;">&nbsp;System;<br />
</span><span style="color: #0000ff;">using</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">namespace</span><span style="color: #000000;">&nbsp;System::Diagnostics;<br />
<br />
<br />
</span><span style="color: #0000ff;">const</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">double</span><span style="color: #000000;">&nbsp;PRECISION&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;1E</span><span style="color: #000000;">-</span><span style="color: #000000;">6</span><span style="color: #000000;">;<br />
</span><span style="color: #0000ff;">const</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;COUNT_OF_NUMBER&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">4</span><span style="color: #000000;">;<br />
</span><span style="color: #0000ff;">const</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;NUMBER_TO_BE_CAL&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">24</span><span style="color: #000000;">;<br />
<br />
</span><span style="color: #0000ff;">double</span><span style="color: #000000;">&nbsp;number[COUNT_OF_NUMBER];<br />
</span><span style="color: #0000ff;">string</span><span style="color: #000000;">&nbsp;expression[COUNT_OF_NUMBER];<br />
<br />
</span><span style="color: #0000ff;">bool</span><span style="color: #000000;">&nbsp;Search(</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;n)<br />
{<br />
</span><span style="color: #0000ff;">if</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;{<br />
</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(&nbsp;fabs(number[</span><span style="color: #000000;">0</span><span style="color: #000000;">]&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">&nbsp;NUMBER_TO_BE_CAL)&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">&nbsp;PRECISION&nbsp;)&nbsp;{<br />
cout&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;expression[</span><span style="color: #000000;">0</span><span style="color: #000000;">]&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;=&nbsp;24</span><span style="color: #000000;">"</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;endl;<br />
</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">true</span><span style="color: #000000;">;<br />
}&nbsp;</span><span style="color: #0000ff;">else</span><span style="color: #000000;">&nbsp;{<br />
</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">false</span><span style="color: #000000;">;<br />
}<br />
}<br />
<br />
</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;">0</span><span style="color: #000000;">;&nbsp;i&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">&nbsp;n;&nbsp;i</span><span style="color: #000000;">++</span><span style="color: #000000;">)&nbsp;{<br />
</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;</span><span style="color: #000000;">1</span><span style="color: #000000;">;&nbsp;j&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">&nbsp;n;&nbsp;j</span><span style="color: #000000;">++</span><span style="color: #000000;">)&nbsp;{<br />
</span><span style="color: #0000ff;">double</span><span style="color: #000000;">&nbsp;a,&nbsp;b;<br />
</span><span style="color: #0000ff;">string</span><span style="color: #000000;">&nbsp;expa,&nbsp;expb;<br />
<br />
<br />
a&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;number[i];<br />
b&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;number[j];<br />
number[j]&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;number[n&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">];<br />
<br />
expa&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;expression[i];<br />
expb&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;expression[j];<br />
expression[j]&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;expression[n&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">];<br />
<br />
expression[i]&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">'</span><span style="color: #000000;">(</span><span style="color: #000000;">'</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;expa&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">'</span><span style="color: #000000;">+</span><span style="color: #000000;">'</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;expb&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">'</span><span style="color: #000000;">)</span><span style="color: #000000;">'</span><span style="color: #000000;">;<br />
number[i]&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;a&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;b;<br />
</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(&nbsp;Search(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;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">true</span><span style="color: #000000;">;<br />
<br />
expression[i]&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">'</span><span style="color: #000000;">(</span><span style="color: #000000;">'</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;expa&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">'</span><span style="color: #000000;">-</span><span style="color: #000000;">'</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;expb&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">'</span><span style="color: #000000;">)</span><span style="color: #000000;">'</span><span style="color: #000000;">;<br />
number[i]&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;a&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">&nbsp;b;<br />
</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(&nbsp;Search(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;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">true</span><span style="color: #000000;">;<br />
<br />
expression[i]&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">'</span><span style="color: #000000;">(</span><span style="color: #000000;">'</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;expb&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">'</span><span style="color: #000000;">-</span><span style="color: #000000;">'</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;expa&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">'</span><span style="color: #000000;">)</span><span style="color: #000000;">'</span><span style="color: #000000;">;<br />
number[i]&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;b&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">&nbsp;a;<br />
</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(&nbsp;Search(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;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">true</span><span style="color: #000000;">;<br />
<br />
<br />
expression[i]&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">'</span><span style="color: #000000;">(</span><span style="color: #000000;">'</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;expa&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">'</span><span style="color: #000000;">*</span><span style="color: #000000;">'</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;expb&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">'</span><span style="color: #000000;">)</span><span style="color: #000000;">'</span><span style="color: #000000;">;<br />
number[i]&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;a&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">&nbsp;b;<br />
</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(&nbsp;Search(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;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">true</span><span style="color: #000000;">;<br />
<br />
</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(b&nbsp;</span><span style="color: #000000;">!=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">)&nbsp;{<br />
expression[i]&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">'</span><span style="color: #000000;">(</span><span style="color: #000000;">'</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;expa&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">'</span><span style="color: #000000;">/</span><span style="color: #000000;">'</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;expb&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">'</span><span style="color: #000000;">)</span><span style="color: #000000;">'</span><span style="color: #000000;">;<br />
number[i]&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;a&nbsp;</span><span style="color: #000000;">/</span><span style="color: #000000;">&nbsp;b;<br />
</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(&nbsp;Search(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;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">true</span><span style="color: #000000;">;<br />
}<br />
</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(a&nbsp;</span><span style="color: #000000;">!=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">)&nbsp;{<br />
expression[i]&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">'</span><span style="color: #000000;">(</span><span style="color: #000000;">'</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;expb&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">'</span><span style="color: #000000;">/</span><span style="color: #000000;">'</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;expa&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">'</span><span style="color: #000000;">)</span><span style="color: #000000;">'</span><span style="color: #000000;">;<br />
number[i]&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;b&nbsp;</span><span style="color: #000000;">/</span><span style="color: #000000;">&nbsp;a;<br />
</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(&nbsp;Search(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;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">true</span><span style="color: #000000;">;<br />
}<br />
<br />
number[i]&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;a;<br />
number[j]&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;b;<br />
expression[i]&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;expa;<br />
expression[j]&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;expb;<br />
}<br />
}<br />
</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">false</span><span style="color: #000000;">;<br />
}<br />
<br />
</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;main()<br />
{<br />
</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;">0</span><span style="color: #000000;">;&nbsp;i&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">&nbsp;COUNT_OF_NUMBER;&nbsp;i</span><span style="color: #000000;">++</span><span style="color: #000000;">)&nbsp;{<br />
</span><span style="color: #0000ff;">char</span><span style="color: #000000;">&nbsp;buffer[</span><span style="color: #000000;">20</span><span style="color: #000000;">];<br />
</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;x;<br />
cin&nbsp;</span><span style="color: #000000;">&gt;&gt;</span><span style="color: #000000;">&nbsp;x;<br />
number[i]&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;x;<br />
itoa(x,&nbsp;buffer,&nbsp;</span><span style="color: #000000;">10</span><span style="color: #000000;">);<br />
expression[i]&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;buffer;<br />
}<br />
<br />
</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(&nbsp;Search(COUNT_OF_NUMBER)&nbsp;)&nbsp;{<br />
cout&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">Success.</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;endl;<br />
}&nbsp;</span><span style="color: #0000ff;">else</span><span style="color: #000000;">&nbsp;{<br />
cout&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">Fail.</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;endl;<br />
}<br />
}</span></div>
<span id="ContentLabel" style="padding: 0px 10px; display: block;">
<p><br />
</p>
</span><br />
<img src ="http://www.blogjava.net/comic222/aggbug/250101.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/comic222/" target="_blank">DeEpBLuE222</a> 2009-01-06 15:04 <a href="http://www.blogjava.net/comic222/archive/2009/01/06/250101.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于Java3D在AMD64位系统中的安装问题</title><link>http://www.blogjava.net/comic222/archive/2009/01/01/249419.html</link><dc:creator>DeEpBLuE222</dc:creator><author>DeEpBLuE222</author><pubDate>Wed, 31 Dec 2008 16:30:00 GMT</pubDate><guid>http://www.blogjava.net/comic222/archive/2009/01/01/249419.html</guid><wfw:comment>http://www.blogjava.net/comic222/comments/249419.html</wfw:comment><comments>http://www.blogjava.net/comic222/archive/2009/01/01/249419.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/comic222/comments/commentRss/249419.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/comic222/services/trackbacks/249419.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 不知道是sun公司故意忽悠我们还是怎么的,因为我的系统是AMD64位双核的,想在本机上配置一下java3d环境,所以找了一下,首先下了一个window/AMD64 的安装程序,居然提示"此类型处理器不适合安装&#8230;&#8230;"，郁闷，只好用<em>Zip binaries</em> 了,晕居然提示少2个dll(s),但是解压包里只有一个dll，汗，难道sun公司帮意忽悠人的，没办法，只好google解决办法了，国内论坛好像没找到解决方法，无意中看到一个国外论坛网友回贴，也是遇到同样问题的，&#8220;A-ha. I was assuming that the AMD64 was a build for the 64-bit AMD
chipset, not a target OS. Yes, when I use the i586 build things are
happy.<br />
<br />
Thanks.
&#8221; 我就下了一个i586的，居然可以用，哎，可能真如那位老兄说的那样（但我是AMD64位的CPU，win32的OS）,不理解。不过至少还是能用的。
<img src ="http://www.blogjava.net/comic222/aggbug/249419.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/comic222/" target="_blank">DeEpBLuE222</a> 2009-01-01 00:30 <a href="http://www.blogjava.net/comic222/archive/2009/01/01/249419.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>转载:在C++中实现foreach循环 </title><link>http://www.blogjava.net/comic222/articles/245542.html</link><dc:creator>DeEpBLuE222</dc:creator><author>DeEpBLuE222</author><pubDate>Wed, 10 Dec 2008 09:40:00 GMT</pubDate><guid>http://www.blogjava.net/comic222/articles/245542.html</guid><wfw:comment>http://www.blogjava.net/comic222/comments/245542.html</wfw:comment><comments>http://www.blogjava.net/comic222/articles/245542.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/comic222/comments/commentRss/245542.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/comic222/services/trackbacks/245542.html</trackback:ping><description><![CDATA[<span style="font-size: 14pt;">
转载:<a href="http://blog.csdn.net/Slin000/archive/2008/03/10/2164192.aspx">在C++中实现foreach循环</a> <br />
<br />
使用过C#、PHP这些更高级语言的朋友一定知道foreach循环。foreach语句给编程带来了很大的方便，减少了代码，并增加了程序的可读性。C++虽然不支持foreach关键字，但C++是一门强大的语言，只要稍微用一点小技巧，也可以在C++中使用foreach循环。<br />
在C#中，foreach语句的效果让人吃惊。foreach语句省去了复杂而又类似的循环控制语句，使代码非常简洁明了。下面的例子可以清楚地看到这一点。<br />
&nbsp;<br />
假有一个类型为ContainerType类型的容器Container，它的每个元素的类型为ElementType。<br />
在C#中，数组就是这样一种容器。<br />
在C++中，stl的vector、map等也是这样的容器。<br />
如果要遍历容器Container的每个元素，在C#中可以使用如下代码：<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #0000ff;">foreach</span><span style="color: #000000;">(&nbsp;ElementType&nbsp;element&nbsp;</span><span style="color: #0000ff;">in</span><span style="color: #000000;">&nbsp;Container)<br />
{&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;使用element访问该元素</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">}</span></div>
<br />
而在C++中，通常的代码都会是这样：<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #000000;">Container::iterator&nbsp;iter;<br />
</span><span style="color: #0000ff;">for</span><span style="color: #000000;">&nbsp;(iter&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;Container.begin();&nbsp;iter</span><span style="color: #000000;">!=</span><span style="color: #000000;">Container.end();&nbsp;iter</span><span style="color: #000000;">++</span><span style="color: #000000;">)<br />
{&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;使用(*iter)访问该元素</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">}</span></div>
<br />
显然C#中的代码更清晰的多。而C++的代码中包含了变量声明和循环控制，显得更复杂了。也许您对这一点增加的复杂性并不在意，但本着勿因善小而不为的原则，以及一点思考精神，我决定让C++也拥有使用foreach循环的能力。<br />
&nbsp;<br />
C++的宏很适合做这种事情。问题在于如何做的更像C#中的那种样式。如果在访问元素的代码块的前面和后面各加一个宏，那么这件事情就变得毫无意义，并很可笑。<br />
&nbsp;<br />
我们只能使用一个宏，并命名为foreach。在这个宏后面的代码块将可以像在C#中那样可以使用一个变量名来遍历容器中的所有元素。宏中声明的变量不能污染到程序中其它部分的命名间，而这些变量又不在访问元素的代码块中声明。这样的要求使这个问题变成一种考验代码技巧的有趣问题。<br />
&nbsp;<br />
C++语言控制能力的强大使它确实可以支持foreach语句。这要用到两个技巧：1，for循环的第一条语句可以声明局部变量；2，充分利用for循环的过程控制能力。<br />
&nbsp;<br />
C++中的foreach语句定义宏如下： <br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #0000ff;">#define</span><span style="color: #000000;">&nbsp;foreach(elementType,&nbsp;element,&nbsp;containerType,&nbsp;container)&nbsp;"</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">&nbsp;(containerType::iterator&nbsp;iter&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;container.begin();&nbsp;iter&nbsp;</span><span style="color: #000000;">!=</span><span style="color: #000000;">&nbsp;container.end();&nbsp;iter</span><span style="color: #000000;">++</span><span style="color: #000000;">)</span><span style="color: #000000;">"<br />
</span><span style="color: #000000;">&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;">bool</span><span style="color: #000000;">&nbsp;go&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">true</span><span style="color: #000000;">;&nbsp;go;)</span><span style="color: #000000;">"<br />
</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;">&nbsp;(elementType&nbsp;</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">&nbsp;element&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">iter;go;&nbsp;go</span><span style="color: #000000;">=</span><span style="color: #0000ff;">false</span><span style="color: #000000;">)</span></div>
<br />
宏中定义了三重for循环。第一重的意义很清楚：使用容器的遍历者遍历容器中的元素。第二、第三重for循环其实只能执行一次，其主要目的是声明element变量。C++的变量引用类型使后面的元素访问代码块可以直接使用element变量。<br />
&nbsp;<br />
foreach宏的参数依次为：元素类型，元素名，容器类型，容器名。<br />
&nbsp;<br />
假设有个vector如下面的定义：<br />
vector&lt;int&gt; v;<br />
&nbsp;<br />
那么遍历v可以使用下面的代码：<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #0000ff;">foreach</span><span style="color: #000000;">(</span><span style="color: #0000ff;">int</span><span style="color: #000000;">,&nbsp;e,&nbsp;vector</span><span style="color: #000000;">&lt;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">,&nbsp;v)<br />
{</span><span style="color: #008000;">//</span><span style="color: #008000;">使用(e)来访问v的元素</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">}</span></div>
<br />
&nbsp;<br />
是不是很像C#中的foreach语句呢？我写了一小段程序，看看这个宏是不是真的能工作，代码如下：<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><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 />
#include&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">vector</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br />
</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 />
&nbsp;<br />
</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;在C++中使用&nbsp;foreach&nbsp;循环</span><span style="color: #008000;"><br />
</span><span style="color: #0000ff;">#define</span><span style="color: #000000;">&nbsp;foreach(elementType,&nbsp;element,&nbsp;containerType,&nbsp;container)&nbsp;"</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">&nbsp;(containerType::iterator&nbsp;iter&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;container.begin();&nbsp;iter&nbsp;</span><span style="color: #000000;">!=</span><span style="color: #000000;">&nbsp;container.end();&nbsp;iter</span><span style="color: #000000;">++</span><span style="color: #000000;">)</span><span style="color: #000000;">"<br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">&nbsp;(</span><span style="color: #0000ff;">bool</span><span style="color: #000000;">&nbsp;go&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">true</span><span style="color: #000000;">;&nbsp;go;)</span><span style="color: #000000;">"<br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">&nbsp;(elementType&nbsp;</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">&nbsp;element&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">iter;go;&nbsp;go</span><span style="color: #000000;">=</span><span style="color: #0000ff;">false</span><span style="color: #000000;">)<br />
&nbsp;<br />
</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;main()<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;vector</span><span style="color: #000000;">&lt;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">&nbsp;v;<br />
&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;">;&nbsp;i</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">10</span><span style="color: #000000;">;&nbsp;</span><span style="color: #000000;">++</span><span style="color: #000000;">i)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;v.push_back(i);<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">foreach</span><span style="color: #000000;">(</span><span style="color: #0000ff;">int</span><span style="color: #000000;">,&nbsp;e,&nbsp;vector</span><span style="color: #000000;">&lt;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">,&nbsp;v)&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;在这里使用foreach语句</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000;">"</span><span style="color: #000000;">%d</span><span style="color: #000000;">"</span><span style="color: #000000;">n</span><span style="color: #000000;">"</span><span style="color: #000000;">,&nbsp;e);</span><span style="color: #000000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;}<br />
}</span></div>
<br />
&nbsp;<br />
结果输出很正确！<br />
&nbsp;<br />
事实上，在C++中，for语句以及其它语句，它们的本质是基于计算机指令的过程控制语句，而C#中的foreach语句，可以看作是基遍历者这种设计模式的语句。编程语言从只基于计算机指令到基于设计模式，这应该也算是软件发展的进步吧。<br />
&nbsp;<br />
在C++中使用文中定义的foreach语句并不能提高程序的效率，也不会明显降低效率。foreach宏只能在代码层面上有些好处，减少一些重复的代码，增加一点可读性。设计这个宏，就当是个趣味技巧题，玩一玩，并支持一下那些坚决拥抱C++的朋友们。<br />
&nbsp;<br />
作者：苏林
</span>
<img src ="http://www.blogjava.net/comic222/aggbug/245542.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/comic222/" target="_blank">DeEpBLuE222</a> 2008-12-10 17:40 <a href="http://www.blogjava.net/comic222/articles/245542.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>求素数的简单算法(二) </title><link>http://www.blogjava.net/comic222/articles/245535.html</link><dc:creator>DeEpBLuE222</dc:creator><author>DeEpBLuE222</author><pubDate>Wed, 10 Dec 2008 09:12:00 GMT</pubDate><guid>http://www.blogjava.net/comic222/articles/245535.html</guid><wfw:comment>http://www.blogjava.net/comic222/comments/245535.html</wfw:comment><comments>http://www.blogjava.net/comic222/articles/245535.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/comic222/comments/commentRss/245535.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/comic222/services/trackbacks/245535.html</trackback:ping><description><![CDATA[<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #000000;">#include&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">list</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br />
#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 />
#include&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">math.h</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br />
<br />
</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 />
</span><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 />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;index</span><span style="color: #000000;">=</span><span style="color: #000000;">1</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">double</span><span style="color: #000000;">&nbsp;temp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;tmp;<br />
&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;intlist;<br />
&nbsp;&nbsp;&nbsp;&nbsp;cout</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">"</span><span style="color: #000000;">The&nbsp;prime&nbsp;number[&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">index</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">"</span><span style="color: #000000;">]&nbsp;:</span><span style="color: #000000;">"</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">2</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">endl;<br />
&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</span><span style="color: #000000;">=</span><span style="color: #000000;">3</span><span style="color: #000000;">;i</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">10000</span><span style="color: #000000;">;i</span><span style="color: #000000;">++</span><span style="color: #000000;">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">bool</span><span style="color: #000000;">&nbsp;mark</span><span style="color: #000000;">=</span><span style="color: #0000ff;">true</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;temp</span><span style="color: #000000;">=</span><span style="color: #000000;">sqrt(</span><span style="color: #0000ff;">double</span><span style="color: #000000;">(i));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tmp</span><span style="color: #000000;">=</span><span style="color: #000000;">temp;<br />
&nbsp;&nbsp;&nbsp;&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;j</span><span style="color: #000000;">=</span><span style="color: #000000;">2</span><span style="color: #000000;">;j</span><span style="color: #000000;">&lt;=</span><span style="color: #000000;">tmp;j</span><span style="color: #000000;">++</span><span style="color: #000000;">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(i&nbsp;</span><span style="color: #000000;">%</span><span style="color: #000000;">&nbsp;j&nbsp;</span><span style="color: #000000;">==</span><span style="color: #000000;">0</span><span style="color: #000000;">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mark</span><span style="color: #000000;">=</span><span style="color: #0000ff;">false</span><span style="color: #000000;">;<br />
&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 />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(mark)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;index</span><span style="color: #000000;">++</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;intlist.push_back(i);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">"</span><span style="color: #000000;">The&nbsp;prime&nbsp;number[&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">index</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">"</span><span style="color: #000000;">]&nbsp;:</span><span style="color: #000000;">"</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">i</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">endl;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&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 />
} <br />
</span></div>
<img src ="http://www.blogjava.net/comic222/aggbug/245535.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/comic222/" target="_blank">DeEpBLuE222</a> 2008-12-10 17:12 <a href="http://www.blogjava.net/comic222/articles/245535.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>求素数的简单算法(一)</title><link>http://www.blogjava.net/comic222/articles/245518.html</link><dc:creator>DeEpBLuE222</dc:creator><author>DeEpBLuE222</author><pubDate>Wed, 10 Dec 2008 08:14:00 GMT</pubDate><guid>http://www.blogjava.net/comic222/articles/245518.html</guid><wfw:comment>http://www.blogjava.net/comic222/comments/245518.html</wfw:comment><comments>http://www.blogjava.net/comic222/articles/245518.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/comic222/comments/commentRss/245518.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/comic222/services/trackbacks/245518.html</trackback:ping><description><![CDATA[下面是求2到10000之间的素数:<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #000000;">#include&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">list</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br />
#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 />
<br />
</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 />
</span><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 />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;index</span><span style="color: #000000;">=</span><span style="color: #000000;">1</span><span style="color: #000000;">;<br />
&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;intlist;<br />
&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;">::iterator&nbsp;it;<br />
&nbsp;&nbsp;&nbsp;&nbsp;intlist.push_back(</span><span style="color: #000000;">2</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;cout</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">"</span><span style="color: #000000;">The&nbsp;prime&nbsp;number[&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">index</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">"</span><span style="color: #000000;">]&nbsp;:</span><span style="color: #000000;">"</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">2</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">endl;<br />
&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</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;">10000</span><span style="color: #000000;">;i</span><span style="color: #000000;">++</span><span style="color: #000000;">){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">bool</span><span style="color: #000000;">&nbsp;mark</span><span style="color: #000000;">=</span><span style="color: #0000ff;">true</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">(it</span><span style="color: #000000;">=</span><span style="color: #000000;">intlist.begin();it</span><span style="color: #000000;">!=</span><span style="color: #000000;">intlist.end();it</span><span style="color: #000000;">++</span><span style="color: #000000;">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(i&nbsp;</span><span style="color: #000000;">%</span><span style="color: #000000;">&nbsp;(</span><span style="color: #000000;">*</span><span style="color: #000000;">it)&nbsp;</span><span style="color: #000000;">==</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mark</span><span style="color: #000000;">=</span><span style="color: #0000ff;">false</span><span style="color: #000000;">;<br />
&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 />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&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;">if</span><span style="color: #000000;">(mark)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;index</span><span style="color: #000000;">++</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;intlist.push_back(i);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">"</span><span style="color: #000000;">The&nbsp;prime&nbsp;number[&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">index</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">"</span><span style="color: #000000;">]&nbsp;:</span><span style="color: #000000;">"</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">i</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">endl;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&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 />
}<br />
</span></div>
<br />
<img src ="http://www.blogjava.net/comic222/aggbug/245518.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/comic222/" target="_blank">DeEpBLuE222</a> 2008-12-10 16:14 <a href="http://www.blogjava.net/comic222/articles/245518.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>