Mock Exam 1 : Prime Triangle / C#

Привет,

След дълги часове и мислене стигнах до това 100/100 решение, но ми се струва хаотично.

Дали има някакъв по-сбит и “умен” код?

Ето и моя:

using System.Collections.Generic;
using System;

namespace MockExam.Telerik
{
class Program
{
static void Main()
{
var N = int.Parse(Console.ReadLine());
int primeCounter = 0;

        int[] arr = new int[N];

        for (int i = 1; i <= N; i++)
        {
            bool isPrime = i > 0;
            for (int j = 2; j <= Math.Sqrt(i); j++)
            {
                if (i % j == 0)
                {
                    isPrime = false;
                    break;
                }
            }
            if (isPrime)
            {
                primeCounter++;
                arr[i - 1] = 1;
            }
        }

        int targetPrimeOutput = 0;
        
        for (int i = 0; i < N; i++)
        {
            for (int j = 0; targetPrimeOutput <= i; j++)
            {
                if (arr[j] == 1)
                {
                    targetPrimeOutput++;
                }
                 Console.Write(arr[j]);
            }

            if (targetPrimeOutput == primeCounter)
            {
                break;
            }
            Console.WriteLine();
            targetPrimeOutput = 0;
        }
    }
}

}

Имаш опция да видиш всички решения на задачата от други хора,представена като таб отдясно.