<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>方寸心思 &#187; 原创</title>
	<atom:link href="http://www.luoxf.net/wordpress/archives/tag/%e5%8e%9f%e5%88%9b/feed" rel="self" type="application/rss+xml" />
	<link>http://www.luoxf.net/wordpress</link>
	<description>欢迎光临罗小飞(抱雪)的网上家园</description>
	<pubDate>Thu, 25 Dec 2008 15:40:49 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.2</generator>
	<language>en</language>
			<item>
		<title>在SWI-PROLOG中用自定义运算符定义常量</title>
		<link>http://www.luoxf.net/wordpress/archives/209</link>
		<comments>http://www.luoxf.net/wordpress/archives/209#comments</comments>
		<pubDate>Sat, 11 Oct 2008 13:32:56 +0000</pubDate>
		<dc:creator>hugsnow</dc:creator>
		
		<category><![CDATA[程序]]></category>

		<category><![CDATA[原创]]></category>

		<guid isPermaLink="false">http://www.luoxf.net/wordpress/archives/209</guid>
		<description><![CDATA[通过查看帮助，我发现在SWI-PROLOG中无法定义常量，而有些PROLOG版本是可以的，如以前DOS版本的Turbo PROLOG。但是在书写程序时没有常量就很不方便了，如果使用字面常量，一是程序会使程序很难理解，二是修改的时候很不方便，凡是程序中出现这个常量的地方都要修改，极有可能出现遗漏；如果把常量定义成一元谓词如pi(3.14)，那么使用的时候又要先调用一次谓词，如：pi(PI),s is Pi*R*R.显得也很多余。
那么有没有办法在SWI-PROLOG中定义常量呢?当然可以，比如swi-prolog就定义得有符号pi和e，下面就以自定义符号pie=pi+e为例
pie(X):-X is pi+e.
:- arithmetic_function(pie/0).
装入这个文件后，就可以在表达式中使用使用这个常量pie了。
arithmetic_function的功能就是自定义运算符，在定义是需指明自定义函数的个数；在定义谓词时，最后一个个体变元必须是输出参数，用于保存结果。所以在arithmetic_function谓词中指明的参数个数应该比实际的变元个数少1。
]]></description>
			<content:encoded><![CDATA[<p>通过查看帮助，我发现在SWI-PROLOG中无法定义常量，而有些PROLOG版本是可以的，如以前DOS版本的Turbo PROLOG。但是在书写程序时没有常量就很不方便了，如果使用字面常量，一是程序会使程序很难理解，二是修改的时候很不方便，凡是程序中出现这个常量的地方都要修改，极有可能出现遗漏；如果把常量定义成一元谓词如pi(3.14)，那么使用的时候又要先调用一次谓词，如：pi(PI),s is Pi*R*R.显得也很多余。<br />
那么有没有办法在SWI-PROLOG中定义常量呢?当然可以，比如swi-prolog就定义得有符号pi和e，下面就以自定义符号pie=pi+e为例</p>
<p>pie(X):-X is pi+e.<br />
:- arithmetic_function(pie/0).</p>
<p>装入这个文件后，就可以在表达式中使用使用这个常量pie了。<br />
arithmetic_function的功能就是自定义运算符，在定义是需指明自定义函数的个数；在定义谓词时，最后一个个体变元必须是输出参数，用于保存结果。所以在arithmetic_function谓词中指明的参数个数应该比实际的变元个数少1。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.luoxf.net/wordpress/archives/209/feed</wfw:commentRss>
		</item>
		<item>
		<title>从n个数字中取r个数的组合算法，并输出组合(C++)</title>
		<link>http://www.luoxf.net/wordpress/archives/191</link>
		<comments>http://www.luoxf.net/wordpress/archives/191#comments</comments>
		<pubDate>Sun, 20 Jul 2008 16:07:50 +0000</pubDate>
		<dc:creator>hugsnow</dc:creator>
		
		<category><![CDATA[程序]]></category>

		<category><![CDATA[原创]]></category>

		<guid isPermaLink="false">http://www.luoxf.net/wordpress/?p=191</guid>
		<description><![CDATA[本文由抱雪(hugsnow)原创&#65292;转载请注明来源 http://www.luoxf.net/

 1 #include &#60;algorithm&#62;
 2 #include &#60;vector&#62;
 3 #include &#60;iterator&#62;
 4 #include &#60;iostream&#62;
 5 using namespace std;
 6 /**
 7  * 分析：组合无序，所以不妨设降序排列
 8  * 第一个解是[n,n-1,...,n-r+1]
 9  * 解的条件是位置i上的元素A[i]应该满足
10  * i+A[i]&#62;=r
11  * 回溯法：对最后一个元素减一
12  * 如果满足条件则得到一个新解
13  * 如果不满足，一直向前回溯到该位满足为止
14  * 然后把满足的那位后面的依次等于前面减一
15  * 从而得到一组新解,然后继续
16  * 如果已经回溯到第一位仍不满足
17  * [...]]]></description>
			<content:encoded><![CDATA[<p><span style="color: rgb(255, 0, 0);">本文由抱雪(hugsnow)原创&#65292;转载请注明来源 http://www.luoxf.net/</span></p>
<pre>
<font color="#804040"> 1 </font><font color="#a020f0">#include </font><font color="#ff00ff">&lt;algorithm&gt;</font>
<font color="#804040"> 2 </font><font color="#a020f0">#include </font><font color="#ff00ff">&lt;vector&gt;</font>
<font color="#804040"> 3 </font><font color="#a020f0">#include </font><font color="#ff00ff">&lt;iterator&gt;</font>
<font color="#804040"> 4 </font><font color="#a020f0">#include </font><font color="#ff00ff">&lt;iostream&gt;</font>
<font color="#804040"> 5 </font><font color="#804040"><b>using</b></font> <font color="#2e8b57"><b>namespace</b></font> std;
<font color="#804040"> 6 </font><font color="#0000ff">/*</font><font color="#0000ff">*</font>
<font color="#804040"> 7 </font><font color="#0000ff"> * 分析：组合无序，所以不妨设降序排列</font>
<font color="#804040"> 8 </font><font color="#0000ff"> * 第一个解是[n,n-1,...,n-r+1]</font>
<font color="#804040"> 9 </font><font color="#0000ff"> * 解的条件是位置i上的元素A[i]应该满足</font>
<font color="#804040">10 </font><font color="#0000ff"> * i+A[i]&gt;=r</font>
<font color="#804040">11 </font><font color="#0000ff"> * 回溯法：对最后一个元素减一</font>
<font color="#804040">12 </font><font color="#0000ff"> * 如果满足条件则得到一个新解</font>
<font color="#804040">13 </font><font color="#0000ff"> * 如果不满足，一直向前回溯到该位满足为止</font>
<font color="#804040">14 </font><font color="#0000ff"> * 然后把满足的那位后面的依次等于前面减一</font>
<font color="#804040">15 </font><font color="#0000ff"> * 从而得到一组新解,然后继续</font>
<font color="#804040">16 </font><font color="#0000ff"> * 如果已经回溯到第一位仍不满足</font>
<font color="#804040">17 </font><font color="#0000ff"> * 则所有解都已经找到，终止</font>
<font color="#804040">18 </font><font color="#0000ff"> </font><font color="#0000ff">*/</font>
<font color="#804040">19 </font>vector &lt;vector &lt;<font color="#2e8b57"><b>int</b></font>&gt; &gt; comb(<font color="#2e8b57"><b>int</b></font> n,<font color="#2e8b57"><b>int</b></font> r){
<font color="#804040">20 </font>    vector &lt;vector &lt;<font color="#2e8b57"><b>int</b></font>&gt; &gt; vv;
<font color="#804040">21 </font>    vector &lt;<font color="#2e8b57"><b>int</b></font>&gt; tmp(r);
<font color="#804040">22 </font>    <font color="#2e8b57"><b>int</b></font> i;
<font color="#804040">23 </font>    <font color="#2e8b57"><b>bool</b></font> f=<font color="#ff00ff">false</font>;
<font color="#804040">24 </font>    <font color="#804040"><b>for</b></font>(i=<font color="#ff00ff">0</font>;i&lt;r;i++)tmp[i]=n-i;
<font color="#804040">25 </font>    vv.push_back(tmp);
<font color="#804040">26 </font>    <font color="#804040"><b>while</b></font>(<font color="#ff00ff">true</font>){
<font color="#804040">27 </font>        tmp[r-<font color="#ff00ff">1</font>]--;
<font color="#804040">28 </font>        <font color="#804040"><b>for</b></font>(i=r-<font color="#ff00ff">1</font>;i&gt;=<font color="#ff00ff">0</font>;i--){
<font color="#804040">29 </font>            <font color="#804040"><b>if</b></font>(tmp[i]+i&gt;=r)
<font color="#804040">30 </font>                <font color="#804040"><b>break</b></font>;
<font color="#804040">31 </font>            <font color="#804040"><b>else</b></font>{
<font color="#804040">32 </font>                <font color="#804040"><b>if</b></font>(i==<font color="#ff00ff">0</font>){
<font color="#804040">33 </font>                    f=<font color="#ff00ff">true</font>;
<font color="#804040">34 </font>                    <font color="#804040"><b>break</b></font>;
<font color="#804040">35 </font>                }
<font color="#804040">36 </font>                tmp[i-<font color="#ff00ff">1</font>]--;
<font color="#804040">37 </font>                <font color="#804040"><b>if</b></font>(tmp[i-<font color="#ff00ff">1</font>]+i-<font color="#ff00ff">1</font>&gt;=r){
<font color="#804040">38 </font>                    <font color="#804040"><b>for</b></font> (<font color="#2e8b57"><b>int</b></font> j=i; j &lt; r; j++) {
<font color="#804040">39 </font>                        tmp[j]=tmp[j-<font color="#ff00ff">1</font>]-<font color="#ff00ff">1</font>;
<font color="#804040">40 </font>                    }
<font color="#804040">41 </font>                }
<font color="#804040">42 </font>            }
<font color="#804040">43 </font>        }
<font color="#804040">44 </font>        <font color="#804040"><b>if</b></font>(f)<font color="#804040"><b>break</b></font>;
<font color="#804040">45 </font>        vv.push_back(tmp);
<font color="#804040">46 </font>    }
<font color="#804040">47 </font>    <font color="#804040"><b>return</b></font> vv;
<font color="#804040">48 </font>}
<font color="#804040">49 </font>
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.luoxf.net/wordpress/archives/191/feed</wfw:commentRss>
		</item>
		<item>
		<title>韩信走马分油问题</title>
		<link>http://www.luoxf.net/wordpress/archives/187</link>
		<comments>http://www.luoxf.net/wordpress/archives/187#comments</comments>
		<pubDate>Sun, 06 Jul 2008 20:43:14 +0000</pubDate>
		<dc:creator>hugsnow</dc:creator>
		
		<category><![CDATA[程序]]></category>

		<category><![CDATA[原创]]></category>

		<guid isPermaLink="false">http://www.luoxf.net/wordpress/?p=187</guid>
		<description><![CDATA[本文由抱雪(hugsnow)原创&#65292;转载请注明来源 http://www.luoxf.net/
方法很简单
方法一：
1、如果小桶空，从大桶到小桶
2、如果中桶满，从中桶到大桶
3、如果中桶空间能容纳小桶内的，把小桶全倒中桶
4、从小桶倒，把中桶倒满
方法二：完全类似，不过到油的方向为 大桶&#8211;&#62;中桶&#8211;&#62;小桶
&#160;1 dao(X,X,0):-!.&#160;2 % 倒法1&#65306;从大桶往小桶倒&#65292;小桶往中桶到&#160;3 % 3号桶空时从1号往3号桶倒&#160;4 dao(X,Y,0):-&#160;5 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;tong(_,_,C),&#160;6 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;X1 is&#160;X-C,&#160;7 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Z =&#160;C,&#160;8 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;write(&#8216;从第一个桶倒&#8217;-Z-&#8216;到第三个桶,&#8217;),&#160;9 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;write(&#8216;现在三个桶的状态&#8217;-X1-Y-Z),10 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;nl,11 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;dao(X1,Y,Z).12 % 2号桶满时从2号往1号桶倒13 dao(X,Y,Z):-14 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;tong(_,B,_),15 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Y=B,16 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;X1 is&#160;X+Y,17 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;write(&#8216;从第二个桶倒&#8217;-Y-&#8216;到第一个桶,&#8217;),18 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;write(&#8216;现在三个桶的状态&#8217;-X1-0-Z),19 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;nl,20 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;dao(X1,0,Z).21 % 2号桶空余超过3号时从3号往2号桶倒完22 dao(X,Y,Z):-23 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;tong(_,B,_),24 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;M is&#160;B-Y,25 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Z&#62;0,26 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;M&#62;=Z,27 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Y1 is&#160;Y+Z,28 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;write(&#8216;从第三个桶倒&#8217;-Z-&#8216;到第二个桶,&#8217;),29 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;write(&#8216;现在三个桶的状态&#8217;-X-Y1-0),30 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;nl,31 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;dao(X,Y1,0).32 % 2号桶空余不足3号时从3号往2号桶倒部分33 dao(X,Y,Z):-34 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;tong(_,B,C),35 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;M is&#160;B-Y,36 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Z=C,37 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;M&#60;Z,38 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;M&#62;0,39 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Z1 is&#160;Z-M,40 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;write(&#8216;从第三个桶倒&#8217;-M-&#8216;到第二个桶,&#8217;),41 [...]]]></description>
			<content:encoded><![CDATA[<p><span style="color: rgb(255, 0, 0);">本文由抱雪(hugsnow)原创&#65292;转载请注明来源 http://www.luoxf.net/<br /></span><br />
方法很简单<br />
方法一：<br />
1、如果小桶空，从大桶到小桶<br />
2、如果中桶满，从中桶到大桶<br />
3、如果中桶空间能容纳小桶内的，把小桶全倒中桶<br />
4、从小桶倒，把中桶倒满<br />
方法二：完全类似，不过到油的方向为 大桶&#8211;&gt;中桶&#8211;&gt;小桶<br /><span id="more-187"></span><code><br />
<font color="#a52a2a">&nbsp;1 </font><font color="#ff00ff">dao(X,X,0):-</font><font color="#6a5acd">!</font>.<br /><font color="#a52a2a">&nbsp;2 </font><font color="#0000ff">% 倒法1&#65306;从大桶往小桶倒&#65292;小桶往中桶到</font><br /><font color="#a52a2a">&nbsp;3 </font><font color="#0000ff">% 3号桶空时从1号往3号桶倒</font><br /><font color="#a52a2a">&nbsp;4 </font><font color="#ff00ff">dao(X,Y,0):-</font><br /><font color="#a52a2a">&nbsp;5 </font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tong(_,_,C),<br /><font color="#a52a2a">&nbsp;6 </font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;X1 <font color="#a52a2a"><b>is</b></font>&nbsp;X-C,<br /><font color="#a52a2a">&nbsp;7 </font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Z <font color="#a52a2a"><b>=</b></font>&nbsp;C,<br /><font color="#a52a2a">&nbsp;8 </font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#a52a2a"><b>write</b></font>(<font color="#ff00ff">&#8216;从第一个桶倒&#8217;</font>-Z-<font color="#ff00ff">&#8216;到第三个桶,&#8217;</font>),<br /><font color="#a52a2a">&nbsp;9 </font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#a52a2a"><b>write</b></font>(<font color="#ff00ff">&#8216;现在三个桶的状态&#8217;</font>-X1-Y-Z),<br /><font color="#a52a2a">10 </font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#a52a2a"><b>nl</b></font>,<br /><font color="#a52a2a">11 </font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dao(X1,Y,Z).<br /><font color="#a52a2a">12 </font><font color="#0000ff">% 2号桶满时从2号往1号桶倒</font><br /><font color="#a52a2a">13 </font><font color="#ff00ff">dao(X,Y,Z):-</font><br /><font color="#a52a2a">14 </font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tong(_,B,_),<br /><font color="#a52a2a">15 </font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Y<font color="#a52a2a"><b>=</b></font>B,<br /><font color="#a52a2a">16 </font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;X1 <font color="#a52a2a"><b>is</b></font>&nbsp;X+Y,<br /><font color="#a52a2a">17 </font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#a52a2a"><b>write</b></font>(<font color="#ff00ff">&#8216;从第二个桶倒&#8217;</font>-Y-<font color="#ff00ff">&#8216;到第一个桶,&#8217;</font>),<br /><font color="#a52a2a">18 </font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#a52a2a"><b>write</b></font>(<font color="#ff00ff">&#8216;现在三个桶的状态&#8217;</font>-X1-<font color="#ff00ff">0</font>-Z),<br /><font color="#a52a2a">19 </font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#a52a2a"><b>nl</b></font>,<br /><font color="#a52a2a">20 </font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dao(X1,<font color="#ff00ff">0</font>,Z).<br /><font color="#a52a2a">21 </font><font color="#0000ff">% 2号桶空余超过3号时从3号往2号桶倒完</font><br /><font color="#a52a2a">22 </font><font color="#ff00ff">dao(X,Y,Z):-</font><br /><font color="#a52a2a">23 </font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tong(_,B,_),<br /><font color="#a52a2a">24 </font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;M <font color="#a52a2a"><b>is</b></font>&nbsp;B-Y,<br /><font color="#a52a2a">25 </font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Z<font color="#a52a2a"><b>&gt;</b></font><font color="#ff00ff">0</font>,<br /><font color="#a52a2a">26 </font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;M<font color="#a52a2a"><b>&gt;=</b></font>Z,<br /><font color="#a52a2a">27 </font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Y1 <font color="#a52a2a"><b>is</b></font>&nbsp;Y+Z,<br /><font color="#a52a2a">28 </font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#a52a2a"><b>write</b></font>(<font color="#ff00ff">&#8216;从第三个桶倒&#8217;</font>-Z-<font color="#ff00ff">&#8216;到第二个桶,&#8217;</font>),<br /><font color="#a52a2a">29 </font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#a52a2a"><b>write</b></font>(<font color="#ff00ff">&#8216;现在三个桶的状态&#8217;</font>-X-Y1-<font color="#ff00ff">0</font>),<br /><font color="#a52a2a">30 </font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#a52a2a"><b>nl</b></font>,<br /><font color="#a52a2a">31 </font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dao(X,Y1,<font color="#ff00ff">0</font>).<br /><font color="#a52a2a">32 </font><font color="#0000ff">% 2号桶空余不足3号时从3号往2号桶倒部分</font><br /><font color="#a52a2a">33 </font><font color="#ff00ff">dao(X,Y,Z):-</font><br /><font color="#a52a2a">34 </font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tong(_,B,C),<br /><font color="#a52a2a">35 </font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;M <font color="#a52a2a"><b>is</b></font>&nbsp;B-Y,<br /><font color="#a52a2a">36 </font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Z<font color="#a52a2a"><b>=</b></font>C,<br /><font color="#a52a2a">37 </font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;M<font color="#a52a2a"><b>&lt;</b></font>Z,<br /><font color="#a52a2a">38 </font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;M<font color="#a52a2a"><b>&gt;</b></font><font color="#ff00ff">0</font>,<br /><font color="#a52a2a">39 </font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Z1 <font color="#a52a2a"><b>is</b></font>&nbsp;Z-M,<br /><font color="#a52a2a">40 </font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#a52a2a"><b>write</b></font>(<font color="#ff00ff">&#8216;从第三个桶倒&#8217;</font>-M-<font color="#ff00ff">&#8216;到第二个桶,&#8217;</font>),<br /><font color="#a52a2a">41 </font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#a52a2a"><b>write</b></font>(<font color="#ff00ff">&#8216;现在三个桶的状态&#8217;</font>-X-B-Z1),<br /><font color="#a52a2a">42 </font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#a52a2a"><b>nl</b></font>,<br /><font color="#a52a2a">43 </font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dao(X,B,Z1).<br /><font color="#a52a2a">44 </font>:-assert(tong(<font color="#ff00ff">12</font>,<font color="#ff00ff">7</font>,<font color="#ff00ff">5</font>)),dao(<font color="#ff00ff">12</font>,<font color="#ff00ff">0</font>,<font color="#ff00ff">0</font>).</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.luoxf.net/wordpress/archives/187/feed</wfw:commentRss>
		</item>
		<item>
		<title>ip 和 数字转换的 php 代码</title>
		<link>http://www.luoxf.net/wordpress/archives/183</link>
		<comments>http://www.luoxf.net/wordpress/archives/183#comments</comments>
		<pubDate>Wed, 18 Jun 2008 22:14:29 +0000</pubDate>
		<dc:creator>hugsnow</dc:creator>
		
		<category><![CDATA[程序]]></category>

		<category><![CDATA[原创]]></category>

		<guid isPermaLink="false">http://www.luoxf.net/wordpress/?p=183</guid>
		<description><![CDATA[function ip2number($ip){
                $t=explode('.',$ip);
                $x=0;
                for($i=0;$i]]></description>
			<content:encoded><![CDATA[<pre>function ip2number($ip){
                $t=explode('.',$ip);
                $x=0;
                for($i=0;$i<4;$i++){
                    $x = $x*256+$t[$i];
             }
                return $x;
            }
 function number2ip($num){
                $t=$num;
                $a=array();
                for($i=0;$i<4;$i++){
                    $x=$t%256;
                    if($x<0)$x+=256;
                    array_unshift($a, $x);
                    $t = intval($t/256);
                }
                return implode('.',$a);
            }
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.luoxf.net/wordpress/archives/183/feed</wfw:commentRss>
		</item>
		<item>
		<title>A4Desk 网站文件破解</title>
		<link>http://www.luoxf.net/wordpress/archives/176</link>
		<comments>http://www.luoxf.net/wordpress/archives/176#comments</comments>
		<pubDate>Sun, 15 Jun 2008 02:12:25 +0000</pubDate>
		<dc:creator>hugsnow</dc:creator>
		
		<category><![CDATA[程序]]></category>

		<category><![CDATA[原创]]></category>

		<guid isPermaLink="false">http://www.luoxf.net/wordpress/?p=176</guid>
		<description><![CDATA[本文由抱雪(hugsnow)原创&#65292;转载请注明来源 http://www.luoxf.net/
A4Desk是一个不错的Flash站点建站工具，不过生成的swf文件很不爽，主要是1、单击3次就会显示注册对话框；2、会在网站上显示Demo 字样。
如果希望去掉这些信息，按如下步骤操作即可：
一、用A4Desk建立站点并导出。
二、用SothinkSWFDecompiler打开a4desk.swf文件，查看MainMovie的脚本，在第七帧会发现如下代码：
function chkclick(chkno)
{
　　if (clickcount == 3)
　　{
　　　　chk.gotoAndStop("popup");
　　　　clickcount = 0;
　　} // end if
} //
显然这就是点击数检测的函数，改变代码的查看方式为原始数据，得到其二进制为96 05 00 07 03 00 00 00 。用winHex等16进制编辑软件打开文件，查找这个字符串，把3（03000000H)改为2^32-1(FFFFFFFFH)即可拥有几乎无尽的点击次数。

三、查看资源中动画的最后几个，找到包含 DEMO 信息的动画 ，查看这些帧在flash文件中的位置并记录，然后用16进制编辑器把40 00 改为 00 00 即可删除 DEMO 信息，记住要修改所有的帧。

]]></description>
			<content:encoded><![CDATA[<p><span style="color: rgb(255, 0, 0);">本文由抱雪(hugsnow)原创&#65292;转载请注明来源 http://www.luoxf.net/<br /></span><br />
A4Desk是一个不错的Flash站点建站工具，不过生成的swf文件很不爽，主要是1、单击3次就会显示注册对话框；2、会在网站上显示Demo 字样。<br />
如果希望去掉这些信息，按如下步骤操作即可：<span id="more-176"></span><br />
一、用A4Desk建立站点并导出。<br />
二、用SothinkSWFDecompiler打开a4desk.swf文件，查看MainMovie的脚本，在第七帧会发现如下代码：<br />
<code>function chkclick(chkno)<br />
{<br />
　　if (clickcount == 3)<br />
　　{<br />
　　　　chk.gotoAndStop("popup");<br />
　　　　clickcount = 0;<br />
　　} // end if<br />
} //</code><br />
显然这就是点击数检测的函数，改变代码的查看方式为原始数据，得到其二进制为96 05 00 07 03 00 00 00 。用winHex等16进制编辑软件打开文件，查找这个字符串，把3（03000000H)改为2^32-1(FFFFFFFFH)即可拥有几乎无尽的点击次数。<br />
<a href='http://www.luoxf.net/wordpress/wp-content/uploads/2008/06/fda4-3.gif'><img src="http://www.luoxf.net/wordpress/wp-content/uploads/2008/06/fda4-3-300x217.gif" alt="" title="fda4-3" width="300" height="217" class="alignnone size-medium wp-image-177" /></a><a href='http://www.luoxf.net/wordpress/wp-content/uploads/2008/06/fda4-31.gif'><img src="http://www.luoxf.net/wordpress/wp-content/uploads/2008/06/fda4-31-300x187.gif" alt="" title="fda4-31" width="300" height="187" class="alignnone size-medium wp-image-178" /></a><br />
三、查看资源中动画的最后几个，找到包含 DEMO 信息的动画 ，查看这些帧在flash文件中的位置并记录，然后用16进制编辑器把40 00 改为 00 00 即可删除 DEMO 信息，记住要修改所有的帧。<br />
<a href='http://www.luoxf.net/wordpress/wp-content/uploads/2008/06/fda4-32.gif'><img src="http://www.luoxf.net/wordpress/wp-content/uploads/2008/06/fda4-32-300x217.gif" alt="" title="fda4-32" width="300" height="217" class="alignnone size-medium wp-image-179" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.luoxf.net/wordpress/archives/176/feed</wfw:commentRss>
		</item>
	</channel>
</rss>
