<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: 约瑟夫环问题(Josephus)的两种解法（源代码）</title>
	<atom:link href="http://blog.minidx.com/2008/01/28/448.html/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.minidx.com/2008/01/28/448.html</link>
	<description>中文Adobe Flex例子,Flex实例教程,RIA资源,全文检索技术,算法和数据结构</description>
	<lastBuildDate>Thu, 18 Mar 2010 13:20:59 +0800</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: lixiaohui</title>
		<link>http://blog.minidx.com/2008/01/28/448.html/comment-page-1#comment-10373</link>
		<dc:creator>lixiaohui</dc:creator>
		<pubDate>Tue, 06 Jan 2009 13:30:53 +0000</pubDate>
		<guid isPermaLink="false">http://blog.minidx.com/2008/01/28/448.html#comment-10373</guid>
		<description>打扰一下，对于m&gt;n的情形，如当m=40时，您的程序可能就不对了
/* Josephus 循环取数 */
    p_iter = p_list;
    m %= n;
此处可能出现问题吧！</description>
		<content:encoded><![CDATA[<p>打扰一下，对于m&gt;n的情形，如当m=40时，您的程序可能就不对了<br />
/* Josephus 循环取数 */<br />
    p_iter = p_list;<br />
    m %= n;<br />
此处可能出现问题吧！</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Minidxer</title>
		<link>http://blog.minidx.com/2008/01/28/448.html/comment-page-1#comment-1979</link>
		<dc:creator>Minidxer</dc:creator>
		<pubDate>Mon, 28 Jan 2008 01:34:22 +0000</pubDate>
		<guid isPermaLink="false">http://blog.minidx.com/2008/01/28/448.html#comment-1979</guid>
		<description>看到一种递归的也不错，贴在这里先

#include&lt;iostream&gt;
  using   namespace   std;    
  //本程序以从1开始数,数到3离队为例,其它情况只用少加修改    
  void   make(int   *base,int   n,int   pos,int   c)  
  {  
          int   j=0;  
          cout&lt;&lt;&quot;NO.   &quot;&lt;&lt;++c&lt;&lt;&quot;   第&quot;&lt;&lt;pos+1&lt;&lt;&quot;位出列&quot;&lt;&lt;endl;//输出    
          base[pos]=0;//踢掉    
          if(c==n)return;     //出口      
          while(j-3)if(base[pos=(pos+1)%n])j++;//递归点   ,每次数到几这个3就改到几    
          make(base,n,pos,c);//递归    
  }  
  int   main()  
  {  
          int   n,c=0,pos=2;//从N开始数,则把pos改为N-1就行了.    
          cout&lt;&lt;&quot;请输入总人数&quot;&lt;&lt;endl;  
          cin&gt;&gt;n;  
          int   *base=new   int[n];  
          for(int   i=0;i&lt;n;i++)base[i]=1;  
          make(base,n,pos,c);  
          delete[]base;  
          system(&quot;PAUSE&quot;);  
          return   0;  
  }</description>
		<content:encoded><![CDATA[<p>看到一种递归的也不错，贴在这里先</p>
<p>#include&lt;iostream&gt;<br />
  using   namespace   std;<br />
  //本程序以从1开始数,数到3离队为例,其它情况只用少加修改<br />
  void   make(int   *base,int   n,int   pos,int   c)<br />
  {<br />
          int   j=0;<br />
          cout< <"NO.   "<<++c<<"   第"<
<pos+1<<"位出列"<<endl;//输出<br />
          base[pos]=0;//踢掉<br />
          if(c==n)return;     //出口<br />
          while(j-3)if(base[pos=(pos+1)%n])j++;//递归点   ,每次数到几这个3就改到几<br />
          make(base,n,pos,c);//递归<br />
  }<br />
  int   main()<br />
  {<br />
          int   n,c=0,pos=2;//从N开始数,则把pos改为N-1就行了.<br />
          cout<<"请输入总人数"<<endl;<br />
          cin>>n;<br />
          int   *base=new   int[n];<br />
          for(int   i=0;i<n;i++)base[i]=1;<br />
          make(base,n,pos,c);<br />
          delete[]base;<br />
          system(&#8221;PAUSE&#8221;);<br />
          return   0;<br />
  }</p>
]]></content:encoded>
	</item>
</channel>
</rss>
