可以这样写一个简单测试using System;
using System.Linq;namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
var arr = new int[] { 80, 120, 300, 128, 272 };
var x = 最大公约数(arr);
var result = string.Join(":", arr.Select(u => u / x).ToArray());
Console.WriteLine(result);
Console.ReadLine();
} private static int 最大公约数(int[] array)
{
Array.Sort<int>(array.ToArray());
var x = 最大公约数(array[0], array[1]);
for (var i = 2; i < array.Length; i++)
x = 最大公约数(x, array[i]);
return x;
} private static int 最大公约数(int a, int b)
{
var x = b % a;
if (x == 0)
return a;
else
return 最大公约数(x, a);
}
}
using System.Linq;namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
var arr = new int[] { 80, 120, 300, 128, 272 };
var x = 最大公约数(arr);
var result = string.Join(":", arr.Select(u => u / x).ToArray());
Console.WriteLine(result);
Console.ReadLine();
} private static int 最大公约数(int[] array)
{
Array.Sort<int>(array.ToArray());
var x = 最大公约数(array[0], array[1]);
for (var i = 2; i < array.Length; i++)
x = 最大公约数(x, array[i]);
return x;
} private static int 最大公约数(int a, int b)
{
var x = b % a;
if (x == 0)
return a;
else
return 最大公约数(x, a);
}
}
using System.Linq;namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
var arr = new int[] { 80, 120, 300, 128, 272 };
var x = 最大公约数(arr);
var result = string.Join(":", arr.Select(u => u / x).ToArray());
Console.WriteLine(result);
Console.ReadKey();
} private static int 最大公约数(int[] array)
{
var x = 最大公约数(array[0], array[1]);
for (var i = 2; i < array.Length; i++)
x = 最大公约数(x, array[i]);
return x;
} private static int 最大公约数(int a, int b)
{
var x = b % a;
if (x == 0)
return a;
else
return 最大公约数(x, a);
}
}}