Чем отличаются два вывода в конце кода? - C#
Формулировка задачи:
Чем отличаются два вывода в конце кода? и И что делает 18-я строчка?
Console.WriteLine("Номер человека, который остался {0}", i + 1);Console.Write("Номер человека, который остался:" + n);if (!a[tmp])
class Program
{
static void Main(string[] args)
{
Console.Write("Введите количество человек: ");
int n = Convert.ToInt32(Console.ReadLine());
bool[] a = new bool[n];
Console.Write("Введите номер до какого мы будем считать: ");
int k = Convert.ToInt32(Console.ReadLine());
int s = n, tmp = -1; // old (int s = n, tmp = 0;)
if (k != 1)
{
while (s > 1)
{
for (int i = 0; i < k; )
{
tmp = (tmp + 1) % n;
if (!a[tmp])
i++;
}
a[tmp] = true;
s--;
}
for (int i = 0; i < a.Length; i++)
{
if (!a[i])
{
Console.WriteLine("Номер человека, который остался {0}", i + 1);
break;
}
}
}
else
Console.Write("Номер человека, который остался:" + n);
Console.ReadLine();
}
}
}Решение задачи: «Чем отличаются два вывода в конце кода?»
textual
Листинг программы
Console.WriteLine("Номер человека, который остался {0}", i + 1);