AcTools.Tests.Temporary.A580375 C# (CSharp) Метод

A580375() приватный Метод

private A580375 ( ) : void
Результат void
        public void A580375() {
            var size = 10;
            var maxDelta = 1;

            var iters = 100000;
            var counter = Enumerable.Range(0, size).Select(x => 0).ToList();

            var k = 1;

            for (var z = 0; z < iters; z++) {
                var a = new int[size];
                for (var i = 0; i < a.Length; i++) {
                    a[i] = i;
                }

                for (var i = size - 1; i >= 0; --i) {
                    for (var j = 0; j < k; j++) {
                        var h = Math.Max(i - maxDelta, 0);
                        var g = Math.Min(i + maxDelta, a.Length - 1);
                        if (Dswap(a, i, MathUtils.Random(h, g + 1), maxDelta)) {
                            // break;
                        }
                    }
                }

                for (var i = 0; i < size; i++) {
                    if (a[i] == 4) {
                        counter[i]++;
                    }
                }
            }

            Debug.WriteLine(counter.Select(x => $"{100d * x / iters:F1}%").JoinToString(", "));
        }