自定义解决方案:
void simplify(int[] numbers)
{
for (int divideBy = 50; divideBy > 0; divideBy--)
{
bool divisible = true;
foreach (int cur in numbers)
{
//check for divisibility
if ((int)(cur/divideBy)*divideBy!=cur){
divisible = false;
break;
}
}
if (divisible)
{
for (int i = 0; i < numbers.GetLength(0);i++ )
{
numbers[i] /= divideBy;
}
}
}
}
示例用法:
int [] percentages = {20,30,50};
simplify(percentages);
foreach (int p in percentages)
{
Console.WriteLine(p);
}
Outupts:
2
3
5
顺便说一下,这是我的第一个C程序。我以为用一种新语言来尝试只是个有趣的问题,现在我爱上了!它就像Java,但我希望的东西有点不同,正是我想要的。
<3℃
编辑:顺便说一句,如果它是为你的主类设计的,不要忘记使它成为静态的无效。