110,500
社区成员
发帖
与我相关
我的任务
分享
static void BeiGeer()
{
int n, m;
n = 16;
if (n % 2 == 0) { m = n; }
else { m = n + 1; }
int a = 1, b = 1, index = 1, loop = 0;
for (int i = 1; i <= (m - 1) * (m / 2); i++)
{
if (a >= m) a = 1;
if (index > m / 2) index = 1;
if (index == 1)
{
loop++;
if (i == 1)
{
b = m;
}
else
{
b = a;
}
Console.WriteLine();
Console.WriteLine("第" + loop + "轮");
if (((i - 1) / (m / 2) % 2) == 0)
{
Console.Write(a + "----" + m + " ");
}
else
{
Console.Write(m + "---" + a + " ");
}
}
else if (index > 1 && index <= m / 2)
{
if (b > 1) b--;
else b = m - 1;
Console.Write(a + "---" + b + " ");
}
index++;
a++;
}
}
感觉这个不对,输出的看起来像,但跟你们的不一样第1轮 1 ---- 8 2 ---- 7 3 ---- 6 4 ---- 5
第2轮 1 ---- 7 8 ---- 6 2 ---- 5 3 ---- 4
第3轮 1 ---- 6 7 ---- 5 8 ---- 4 2 ---- 3
第4轮 1 ---- 5 6 ---- 4 7 ---- 3 8 ---- 2
第5轮 1 ---- 4 5 ---- 3 6 ---- 2 7 ---- 8
第6轮 1 ---- 3 4 ---- 2 5 ---- 8 6 ---- 7
第7轮 1 ---- 2 3 ---- 8 4 ---- 7 5 ---- 6
static void BeiGeer()
{
int n, m;
n = 8;
if (n % 2 == 0) { m = n; }
else { m = n + 1; }
int a = 1, b = 1, index = 1, loop = 0;
for (int i = 1; i <= (m - 1) * (m / 2); i++)
{
if (a >= m) a = 1;
if (index > m / 2) index = 1;
if (index == 1)
{
loop++;
if (i == 1)
{
b = m;
}
else
{
b = a;
}
Console.WriteLine("第" + loop + "轮");
if (((i - 1) / (m / 2) % 2) == 0)
{
Console.WriteLine(a + "----" + m);
}
else
{
Console.WriteLine(m + "---" + a);
}
}
else if (index > 1 && index <= m / 2)
{
if (b > 1) b--;
else b = m - 1;
Console.WriteLine(a + "---" + b);
}
index++;
a++;
}
}
完全不懂……找了个java的改成了c#的