我在这里有一个用 C# 编写的代码,可以找到从 1 到 20 的所有数字的最小倍数。但是,我发现它非常低效,因为执行需要一段时间才能产生正确的答案。我想知道我可以采取哪些不同的方法来改进代码。谢谢你。
public static void SmallestMultiple()
{
const ushort ARRAY_SIZE = 21;
ushort[] array = new ushort[ARRAY_SIZE];
ushort check = 0;
for (uint value = 1; value < uint.MaxValue; value++)
{
for (ushort j = 1; j < ARRAY_SIZE; j++)
{
array[j] = j;
if (value % array[j] == 0)
{
check++;
}
}
if (check == 20)
{
Console.WriteLine("The value is {0}", value);
}
else
{
check = 0;
}
}
}