Sha256: a048e2adb2fdba400c37bd78055eed16a1727432eb686d0f16637142e250ee1e

Contents?: true

Size: 709 Bytes

Versions: 137

Compression:

Stored size: 709 Bytes

Contents

using System.Collections.Generic;
using System;

public static class PascalsTriangle
{
    public static IEnumerable<IEnumerable<int>> Calculate(int rows)
    {
        if (rows < 0)
            throw new ArgumentOutOfRangeException();

        return IterateRows(rows);
    }
    
    private static IEnumerable<IEnumerable<int>> IterateRows(int rows)
    {
        for (var i = 1; i <= rows; i++)
        {
            yield return Row(i);
        }
    }

    private static IEnumerable<int> Row(int row)
    {
        yield return 1;
        var column = 1;

        for (var j = 1; j < row; j++)
        {
            column = column * (row - j) / j;
            yield return column;
        }
    }
}

Version data entries

137 entries across 137 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/csharp/exercises/pascals-triangle/Example.cs
trackler-2.2.1.179 tracks/csharp/exercises/pascals-triangle/Example.cs
trackler-2.2.1.178 tracks/csharp/exercises/pascals-triangle/Example.cs
trackler-2.2.1.177 tracks/csharp/exercises/pascals-triangle/Example.cs
trackler-2.2.1.176 tracks/csharp/exercises/pascals-triangle/Example.cs
trackler-2.2.1.175 tracks/csharp/exercises/pascals-triangle/Example.cs
trackler-2.2.1.174 tracks/csharp/exercises/pascals-triangle/Example.cs
trackler-2.2.1.173 tracks/csharp/exercises/pascals-triangle/Example.cs
trackler-2.2.1.172 tracks/csharp/exercises/pascals-triangle/Example.cs
trackler-2.2.1.171 tracks/csharp/exercises/pascals-triangle/Example.cs
trackler-2.2.1.170 tracks/csharp/exercises/pascals-triangle/Example.cs
trackler-2.2.1.169 tracks/csharp/exercises/pascals-triangle/Example.cs
trackler-2.2.1.167 tracks/csharp/exercises/pascals-triangle/Example.cs
trackler-2.2.1.166 tracks/csharp/exercises/pascals-triangle/Example.cs
trackler-2.2.1.165 tracks/csharp/exercises/pascals-triangle/Example.cs
trackler-2.2.1.164 tracks/csharp/exercises/pascals-triangle/Example.cs
trackler-2.2.1.163 tracks/csharp/exercises/pascals-triangle/Example.cs
trackler-2.2.1.162 tracks/csharp/exercises/pascals-triangle/Example.cs
trackler-2.2.1.161 tracks/csharp/exercises/pascals-triangle/Example.cs
trackler-2.2.1.160 tracks/csharp/exercises/pascals-triangle/Example.cs