<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://www.jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://www.jackxiang.com/post//</link>
<title><![CDATA[[实践OK]用c语言的语法逻辑进行判断是不是质数的重构逻辑学习。]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[Unix/LinuxC技术]]></category>
<pubDate>Thu, 14 Jan 2021 02:53:14 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	质数定义：只有1和它本身两个约数，除此之外再没有其它约数。<br/><br/>示例1：<br/><textarea name="code" class="php" rows="15" cols="100">
#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
int main()
&#123;
&nbsp;&nbsp; int a;
&nbsp;&nbsp; a=5;

&nbsp;&nbsp; if(a%2!=0 &amp;&amp; a%3 !=0 &amp;&amp; a%4!=0)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf(&quot;质数&quot;);
&nbsp;&nbsp; else
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;合数&quot;);
&#125;
</textarea><br/>make zs<br/>cc&nbsp;&nbsp;&nbsp;&nbsp; zs.c&nbsp;&nbsp; -o zs<br/><br/>#./zs<br/>质数<br/><br/>示例2：<br/><textarea name="code" class="php" rows="15" cols="100">
#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
int main()
&#123;
&nbsp;&nbsp; int a,count;
&nbsp;&nbsp; a=5;
&nbsp;&nbsp; 
&nbsp;&nbsp; if(a%2==0)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;count++;
&nbsp;&nbsp; if(a%3==0)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;count++;
&nbsp;&nbsp; if(a%4==0)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;count++;

&nbsp;&nbsp; if(count == 0)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf(&quot;质数&quot;);
&nbsp;&nbsp; else
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;合数&quot;);
&#125;

</textarea><br/><br/>for循环介入：<br/><textarea name="code" class="php" rows="15" cols="100">
#cat zs.c 
#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
int main()
&#123;
&nbsp;&nbsp; int a,count,i;
&nbsp;&nbsp; a=5;
&nbsp;&nbsp; for(i=2;i&lt;=4;i++)&#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(a%i==0)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;count++;
&nbsp;&nbsp; &#125;&nbsp;&nbsp; 

&nbsp;&nbsp; if(count == 0)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf(&quot;质数&quot;);
&nbsp;&nbsp; else
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;合数&quot;);


&#125;
</textarea><br/><br/>引入scanf：<br/><textarea name="code" class="php" rows="15" cols="100">
#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
int main()
&#123;
&nbsp;&nbsp; int a,count,i;
&nbsp;&nbsp; scanf(&quot;%d&quot;,&amp;a);
&nbsp;&nbsp; for(i=2;i&lt;=a-1;i++)&#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(a%i==0)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;count++;
&nbsp;&nbsp; &#125;&nbsp;&nbsp; 

&nbsp;&nbsp; if(count == 0)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf(&quot;质数&quot;);
&nbsp;&nbsp; else
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;合数&quot;);
&#125;
</textarea><br/><br/><br/>#./zs<br/>5<br/>质数<br/>#./zs<br/>6<br/>合数<br/><br/>打印出约数：<br/><textarea name="code" class="php" rows="15" cols="100">
#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
int main()
&#123;
&nbsp;&nbsp; int a,count,i;
&nbsp;&nbsp; scanf(&quot;%d&quot;,&amp;a);
&nbsp;&nbsp; for(i=2;i&lt;=a-1;i++)&#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(a%i==0)&#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;count++;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;%d &quot;,i);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;
&nbsp;&nbsp; &#125;&nbsp;&nbsp; 

&nbsp;&nbsp; if(count == 0)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf(&quot;质数&quot;);
&nbsp;&nbsp; else
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;合数&quot;);
&#125;
</textarea><br/><br/><br/>#./zs <br/>5<br/>质数<br/>#./zs <br/>6<br/>2 3 合数<br/><br/>更快一点，引入break：<br/><textarea name="code" class="php" rows="15" cols="100">
#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
int main()
&#123;
&nbsp;&nbsp; int a,count,i;
&nbsp;&nbsp; scanf(&quot;%d&quot;,&amp;a);
&nbsp;&nbsp; for(i=2;i&lt;=a-1;i++)&#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(a%i==0)&#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;count++;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;
&nbsp;&nbsp; &#125;&nbsp;&nbsp; 

&nbsp;&nbsp; if(count == 0)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf(&quot;质数&quot;);
&nbsp;&nbsp; else
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;合数&quot;);
&#125;
</textarea><br/><br/><br/>#./zs<br/>6<br/>合数<br/>#./zs<br/>1000<br/>合数<br/><br/><br/><br/>任一大于2的偶数都可以写成两个质数之和，采用部分穷举法，可以从1-100，1-10000啥的，但无法穷举所有：<br/><textarea name="code" class="php" rows="15" cols="100">
#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
int main()
&#123;
&nbsp;&nbsp; int n,k,a,b,i,count1,count2;
&nbsp;&nbsp; scanf(&quot;%d&quot;,&amp;n);//4到n,如：4-n内的偶数都可以写成两个质数之和
&nbsp;&nbsp; for(k=4;k&lt;=n;k=k+2)&#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(a=2;a&lt;=k/2;a++)&#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//判断a是否为质数
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;count1=0;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(i=2;i&lt;=a-1;i++)&#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(a%i==0)&#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; count1++;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#125;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(count1==0)&#123; //如果a为质数
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b=k-a;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//判断b是否为质数
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;count2=0;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(i=2;i&lt;=b-1;i++)&#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(b%i==0)&#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; count2++;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#125;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(count2==0)&#123; //如果b也是质数
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf(&quot;%d=%d+%d&#92;n&quot;,k,a,b);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#125;
&nbsp;&nbsp; &#125;
&#125;

</textarea><br/><br/>#./zs<br/>100<br/>4=2+2<br/>6=3+3<br/>8=3+5<br/>10=3+7<br/>12=5+7<br/>14=3+11<br/>16=3+13<br/>18=5+13<br/>20=3+17<br/>22=3+19<br/>24=5+19<br/>26=3+23<br/>28=5+23<br/>30=7+23<br/>32=3+29<br/>34=3+31<br/>36=5+31<br/>...<br/>
]]>
</description>
</item><item>
<link>http://www.jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] [实践OK]用c语言的语法逻辑进行判断是不是质数的重构逻辑学习。]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>