public void GetMaxCommonDividerTest() { var message = "INPUT = {0} RESULT = {1}"; foreach (var item in _MaxComDividers) { var input = string.Join(", ", item.Key); var result = KataBase.GetMaxCommonDivider(item.Key[0], item.Key[1]); Assert.True(result == item.Value, string.Format(message, input, result)); } }
#pragma warning disable CA1814 // Используйте массивы массивов вместо многомерных массивов public static string SumFracts(int[,] args) { if (args is null) { throw new ArgumentNullException(nameof(args)); } if (args.Length == 0) { return(null); } var zeroLength = args.GetLength(0); var tArray = new int[zeroLength, 2]; Array.Copy(args, tArray, args.Length); for (var i = 0; i < zeroLength; i++) { var mD = (int)KataBase.GetMaxCommonDivider(tArray[i, 0], tArray[i, 1]); tArray[i, 0] /= mD; tArray[i, 1] /= mD; } var nmr = 0; var dnmr = 1; for (var i = 0; i < zeroLength; i++) { dnmr *= tArray[i, 1]; } for (var i = 0; i < zeroLength; i++) { var multiplier = dnmr / tArray[i, 1]; tArray[i, 0] *= multiplier; nmr += tArray[i, 0]; } if (nmr % dnmr == 0) { return($"{nmr / dnmr}"); } var maxDvdr = KataBase.GetMaxCommonDivider(nmr, dnmr); return($"[{nmr / maxDvdr}, {dnmr / maxDvdr}]"); #pragma warning restore CA1814 // Используйте массивы массивов вместо многомерных массивов }