我在試圖找出這個問題背後的邏輯時遇到了很大的困難。我已經開發了一切,但我真的可以使用一些幫助,任何幫助,我堅持的部分。有關邏輯問題的幫助
背景故事:
*一羣演員了一圈等待。他們「計數 」以不同的金額。最後幾次試鏡 被認爲是獲得零件併成爲明星的最佳機會。
取代具有名字的演員,他們通過數字被標識爲 。 「勁舞團訂單」表中的講述, 閱讀左到右,該誰 將在他們將執行順序試鏡演員的「名稱」 *
輸出示例:
等,一路攀升至10
我有什麼至今:
using System;
using System.Collections;
using System.Text;
namespace The_Last_Survivor
{
class Program
{
static void Main(string[] args)
{
//Declare Variables
int NumOfActors = 0;
System.DateTime dt = System.DateTime.Now;
int interval = 3;
ArrayList Ring = new ArrayList(10);
//Header
Console.Out.WriteLine("Actors\tNumber\tOrder");
//Add Actors
for (int x = 1; x < 11; x++)
{
NumOfActors++;
Ring.Insert((x - 1), new Actor(x));
foreach (Actor i in Ring)
{
Console.Out.WriteLine("{0}\t{1}\t{2}", NumOfActors, i, i.Order(interval, x));
}
Console.Out.WriteLine("\n");
}
Console.In.Read();
}
public class Actor
{
//Variables
protected int Number;
//Constructor
public Actor(int num)
{
Number = num;
}
//Order in circle
public string Order(int inter, int num)
{
//Variable
string result = "";
ArrayList myArray = new ArrayList(num);
//Filling Array
for (int i = 0; i < num; i++)
myArray.Add(i + 1);
//Formula
foreach (int element in myArray)
{
if (element == inter)
{
result += String.Format(" {0}", element);
myArray.RemoveAt(element);
}
}
return result;
}
//String override
public override string ToString()
{
return String.Format("{0}", Number);
}
}
}
}
我被卡住的部分正在得到一些數學會這樣做: alt text http://content.screencast.com/users/SidSinister/folders/Jing/media/0d178ed4-64bd-468c-acc3-872fa8d8d541/2010-03-17_2035.png
任何人都可以提供一些指導和/或示例代碼?
PROGRESS ONE
新代碼
公共字符串訂單(INT間,INT NUM) { //可變 字符串結果= 「」; int pos = 0; ArrayList myArray = new ArrayList();
//Filling Array
for (int i = 0; i < num + 1; i++)
myArray.Add(i+1);
while (myArray.Count > 1)
{
pos = (pos + inter) % myArray.Count;
result += (myArray[pos] + " ");
myArray.RemoveAt(pos);
}
result += (myArray[0]);
myArray.Clear();
return result;
聽起來像功課!我記得在課堂上用不同的措辭來做這個確切的問題。我不記得解決方案,但它不是很難。只要堅持下去! – Cameron 2010-03-18 00:39:25
基本上我只需要了解如何循環一個數組的索引,並從中減去元素。 – Stradigos 2010-03-18 00:39:27
這通常被稱爲約瑟夫斯問題... – 2010-03-18 03:19:13