编写程序求解以下问题,现有运动会门票要赠与你们班(两个班各有67人,学号从1到67)的10个幸运儿,要求采用约瑟夫序列来抽签,全班以学号顺序排号围坐在一张圆桌周围。从编号为18的人开始顺序报数,数到18的那个人出列;他的下一个人又从1开始报数,数到18的那个人又出列;依此规律重复下去,直到圆桌周围的剩下10个人就是幸运儿。程序有如下要求:
a) 读取你们班名单文本文件的内容,存入一个单向链表,并以学号排序,节点要求保存学号,姓名和性别等信息。
b) 针对这个链表进行以上的问题求解。
c) 程序输出10个幸运儿的学号,姓名,性别这道题目用C可以做得出来,如果用C#,应该怎么做呢?求高手赐教!!

解决方案 »

  1.   

    lz想干什么http://topic.csdn.net/u/20101013/18/57ab0dab-bb47-4197-8938-30c30ad6ede7.html引用人生如梦using System; 
    using System.Collections.Generic; 
    using System.Text; namespace Monkey 

      class Program 
      { 
      static void Main(string[] args) 
      { 
      int num; 
      num=Monkey(3, 1, 2); 
      Console.WriteLine(num); 
      Console.ReadKey(); 
      }   static int Monkey(int sum, int diJiGe, int shuDaoJi) 
      { 
      int paiChu=0; 
      int i =diJiGe - 1; 
      int k = 0; 
      int [] myMonkey=new int [sum]; 
      while ((sum - paiChu) != 1) 
      { 
      if (myMonkey[i] == 0) 
      { 
      k = k + 1; 
      if (k == shuDaoJi) 
      { 
      myMonkey[i] = 1; 
      k = 0; 
      paiChu = paiChu + 1; 
      } 
      } 
      i = i + 1; 
      if (i > (sum - 1)) 
      i = 0; 
      } 
      int m=0; 
      for (int j = 0; j < myMonkey.Length; j++) 
      { 
      if (myMonkey[j] == 0) 
      m = i; 
      } 
      return m+1; 
      } 
      } 
    }  
      

  2.   

    http://topic.csdn.net/u/20090906/21/0e56dc96-e19f-4b20-bb04-d6d6e6a0c86a.html?49458
    这里有不少解答的  怎么还开贴呢